99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

【單片機】MSP430注意事項

MSP430注意的問題 

1.#i nclude<>指要在編輯器設定目錄下,#i nclude""指的是在當前工程目錄下。

2.要調用另一個文件中的函數,要把這個函數文件放到當前工程目錄下,并且在工程中添加此文件。

3.命名中不能有-,比如:byq-ee會認為是錯誤的,要用下劃線。

4.用IAR軟件仿真時,可以加入變量,如果是查看I/O信息只需加入PXIN,PXOUT即可。

5.IAR在處理字符時,要注意,是字符處理結尾標志,他和其他編輯軟件是不同的。比如我們長用字符處理回自動在結尾處加,但IAR有些是不加的,這就要十分注意。

6.如果只用到LFX1的低速時鐘,9600bit/s傳輸的話,接收會出現問題,原因是誤差太大,可以設置到4800以下。

7.在寫FLASH時要注意其工作頻率在257K~476k之間,如果不是,則會出現錯誤。而且FLAGH只能寫入0,這樣就出現了必須先擦除在寫入的模式

8.當IO口作為輸入時,要根據平時的狀態加電阻,平時為高時,加個上拉電阻,平時為低時加個下拉電阻以增加穩定性。

9.在FLASH寫時一定要關外部中斷。

10.MSP430一般是不要RC復位的,一般只要接個100K左右電阻就可以了,如果要加電容,它的大小要根據以下兩個標準選擇:1.下載程序不會出現下載不了;2.程序上電會能穩定復位

11.用&表達式作為判斷時,不要忘記加括號。

12.不要使用中斷嵌套。

全部回復(10)
正序查看
倒序查看
fjfhjmh
LV.9
2
2014-01-23 11:22

同時,為了使用C語言來編寫MSP430的高質量代碼需要注意。   微處理器一般用于特定環境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節省使用資源,并且,由于微處理器硬件一般都不支持有符號數、浮點數的運算,且運算位有限,因此,分配變量時必須仔細。另外要說明的是,速度和存儲器的消耗經常是2個不可兼顧的目標,在多數情況下,編程者必須根據實際情況作出權衡和取舍。需要注意的事項如下:   

    1) 通常在滿足運算需求的前提下,盡量選擇為變量定義字節少的數據類型。比如最常用的int和char,int是16位的,char是8位的,如果沒有必要,不要使用int,而且使用char也最好使用unsigned char。運行時,可以在變量窗口看到,使用類型為unsigned char的變量是16進制的格式,而使用int的是十進制格式,如果char沒有定義為unsigned,會出現負號,如果沒有必要的話,在430中是不需要負數的。  

   2) 盡量不用過長的數據類型,如long、long long和double     

   3) MSP430的C編譯器不支持位尋址,所以運算中盡量減少位操作,對于只有“是”和“否”的變量,如果RAM容量允許,則可分配為unsigned char類型,可提高運算速度。如果分配為某字節的某個位,可以減少存儲器的消耗,但是會降低運算速度     

   4) 避免使用浮點數,盡量使用定點數進行小數運算。如果必須使用浮點數,則盡量用32位的float,而不是64位的double     

   5) 盡量將變量分配為無符號數據類型     

   6) 對于指針變量,如果聲明后其值不再改變,則聲明為const類型,這樣編譯器編譯時能更好的優化生成的代碼     

   7) 盡可能的使用局部變量而非全局變量或者靜態變量(static)。這樣有利于編譯器編譯時更好的優化生成的代碼    

   8) 避免對局部變量使用 &取地址符。因為這樣會使編譯器無法把此變量放在CPU的寄存器中,而是放在RAM中,從而失去了優化的機會    

   9) 僅在模塊內使用的變量聲明為static,有利于優化代碼    

   10) 如果堆??臻g有限,盡量減少函數調用的層次和遞歸調用    

   11) 如果傳送參數過多,可將參數組成一個數組或者結構體,然后用指針傳遞    

   12) 某些變量在中斷程序和普通級別程序中都會被用到,所以必須加以保護。

0
回復
haoyamin
LV.3
3
2014-01-23 13:46
編程注意事項很好
0
回復
haoyamin
LV.3
4
2014-01-23 13:46
@fjfhjmh
同時,為了使用C語言來編寫MSP430的高質量代碼需要注意。  微處理器一般用于特定環境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節省使用資源,并且,由于微處理器硬件一般都不支持有符號數、浮點數的運算,且運算位有限,因此,分配變量時必須仔細。另外要說明的是,速度和存儲器的消耗經常是2個不可兼顧的目標,在多數情況下,編程者必須根據實際情況作出權衡和取舍。需要注意的事項如下:    1)通常在滿足運算需求的前提下,盡量選擇為變量定義字節少的數據類型。比如最常用的int和char,int是16位的,char是8位的,如果沒有必要,不要使用int,而且使用char也最好使用unsignedchar。運行時,可以在變量窗口看到,使用類型為unsignedchar的變量是16進制的格式,而使用int的是十進制格式,如果char沒有定義為unsigned,會出現負號,如果沒有必要的話,在430中是不需要負數的。    2)盡量不用過長的數據類型,如long、longlong和double       3)MSP430的C編譯器不支持位尋址,所以運算中盡量減少位操作,對于只有“是”和“否”的變量,如果RAM容量允許,則可分配為unsignedchar類型,可提高運算速度。如果分配為某字節的某個位,可以減少存儲器的消耗,但是會降低運算速度       4)避免使用浮點數,盡量使用定點數進行小數運算。如果必須使用浮點數,則盡量用32位的float,而不是64位的double       5)盡量將變量分配為無符號數據類型       6)對于指針變量,如果聲明后其值不再改變,則聲明為const類型,這樣編譯器編譯時能更好的優化生成的代碼       7)盡可能的使用局部變量而非全局變量或者靜態變量(static)。這樣有利于編譯器編譯時更好的優化生成的代碼     8)避免對局部變量使用&取地址符。因為這樣會使編譯器無法把此變量放在CPU的寄存器中,而是放在RAM中,從而失去了優化的機會     9)僅在模塊內使用的變量聲明為static,有利于優化代碼     10)如果堆??臻g有限,盡量減少函數調用的層次和遞歸調用     11)如果傳送參數過多,可將參數組成一個數組或者結構體,然后用指針傳遞     12)某些變量在中斷程序和普通級別程序中都會被用到,所以必須加以保護。
值得一讀
0
回復
WPGCloud
LV.1
5
2014-01-24 14:55
**此帖已被管理員刪除**
0
回復
fjfhjmh
LV.9
6
2014-01-24 15:46
@WPGCloud
**此帖已被管理員刪除**
你是臥底啊
0
回復
WPGCloud
LV.1
7
2014-01-24 16:33
@fjfhjmh
你是臥底啊[圖片]
**此帖已被管理員刪除**
0
回復
fjfhjmh
LV.9
8
2014-01-24 16:55
@WPGCloud
**此帖已被管理員刪除**
哈哈,開個玩笑
0
回復
208971
LV.7
9
2014-04-04 16:56
@fjfhjmh
同時,為了使用C語言來編寫MSP430的高質量代碼需要注意。  微處理器一般用于特定環境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節省使用資源,并且,由于微處理器硬件一般都不支持有符號數、浮點數的運算,且運算位有限,因此,分配變量時必須仔細。另外要說明的是,速度和存儲器的消耗經常是2個不可兼顧的目標,在多數情況下,編程者必須根據實際情況作出權衡和取舍。需要注意的事項如下:    1)通常在滿足運算需求的前提下,盡量選擇為變量定義字節少的數據類型。比如最常用的int和char,int是16位的,char是8位的,如果沒有必要,不要使用int,而且使用char也最好使用unsignedchar。運行時,可以在變量窗口看到,使用類型為unsignedchar的變量是16進制的格式,而使用int的是十進制格式,如果char沒有定義為unsigned,會出現負號,如果沒有必要的話,在430中是不需要負數的。    2)盡量不用過長的數據類型,如long、longlong和double       3)MSP430的C編譯器不支持位尋址,所以運算中盡量減少位操作,對于只有“是”和“否”的變量,如果RAM容量允許,則可分配為unsignedchar類型,可提高運算速度。如果分配為某字節的某個位,可以減少存儲器的消耗,但是會降低運算速度       4)避免使用浮點數,盡量使用定點數進行小數運算。如果必須使用浮點數,則盡量用32位的float,而不是64位的double       5)盡量將變量分配為無符號數據類型       6)對于指針變量,如果聲明后其值不再改變,則聲明為const類型,這樣編譯器編譯時能更好的優化生成的代碼       7)盡可能的使用局部變量而非全局變量或者靜態變量(static)。這樣有利于編譯器編譯時更好的優化生成的代碼     8)避免對局部變量使用&取地址符。因為這樣會使編譯器無法把此變量放在CPU的寄存器中,而是放在RAM中,從而失去了優化的機會     9)僅在模塊內使用的變量聲明為static,有利于優化代碼     10)如果堆??臻g有限,盡量減少函數調用的層次和遞歸調用     11)如果傳送參數過多,可將參數組成一個數組或者結構體,然后用指針傳遞     12)某些變量在中斷程序和普通級別程序中都會被用到,所以必須加以保護。
總結的不錯
0
回復
208971
LV.7
10
2014-04-04 16:57
不過好多都是通用的,不見得只是430的吧。
0
回復
fjfhjmh
LV.9
11
2014-04-08 08:26
@208971
不過好多都是通用的,不見得只是430的吧。
實話
0
回復
主站蜘蛛池模板: 影音先锋色中色 | 宝宝好涨水快流出来免费视频 | 亚洲国产精品久久亚洲精品大牛 | 寡妇张开腿让黑人捅爽 | 欧美熟妇色ⅹxxx欧美妇 | 日本黄页网站免费观看 | 亚洲精品乱码久久久久膏 | 黄色天堂在线观看 | 青天衙门高清第一部免费观看 | av一级黄色 | 又大又粗欧美黑人AAAAA片 | 精品护士一区二区三区 | 国产在线精品一区二区三区 | 4399理论片午午伦夜理片 | 亚洲精品欧美精品日韩精品 | 日本中出视频 | 中文字幕高清在线 | 欧美亚成人 | 三年片免费观看影视大全满天星 | 小荡货奶真大水真多紧视频 | ASS鲜嫩鲜嫩年轻少妇PICS | JULIA无码中文字幕在线视频 | 啊灬啊灬啊灬快灬深高潮了 | 男女性高爱潮免费网站 | 午夜香吻高清观看视频在线 | 成年人在线免费观看热视频 | 久久这里只有精品18 | 国产精品久久午夜 | 在线看片免费人成视频影院看 | 刺激性视频黄页 | 中文字幕日韩网站免费视频 | 一区国产精品 | 国产精品无码无卡无需播放器 | 亚洲日本一区二区三区在线 | 麻豆传媒视频在线播放 | 国产午夜毛片 | 日本高清不卡中文字幕免费 | 一级黄色录像影片夫妻性生活影片 | 日韩一级黄色大片 | 欧美色欧美亚洲高清在线观看 | japanese23hdxxxxfree日本 |