精品国产一区在线_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)如果堆棧空間有限,盡量減少函數調用的層次和遞歸調用     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
回復
主站蜘蛛池模板: 婷婷综合少妇啪啪喷水动态小说 | 午夜女同| 国产欧美自拍 | 亚洲特级 | 9l视频自拍蝌蚪9l视频 | 中国二级黄色片 | 九九看片 | 一区二区国产在线播放 | 成人国产精品秘片多多 | 岛国午夜视频一区三区 | 久久精品国产99久久久香蕉 | 亚洲自拍小视频 | 97香蕉超级碰碰碰久久兔费 | 日日日韩 | 国产综合欧美无毒不卡怡红院 | 91小视频在线观看 | 91在线porny国产在线看 | 国产精品久久自在自线青柠 | 吸引力法则泰剧在线观看 | 麻豆免费高清在线观看 | 韩国free性video极品hd | 人妖vide0sex人妖xxx | 欧美性大战久久久久久久之小破子 | 影视大全在线观看免费观看高清版 | 免费观看一级毛片视频 | 黄晓明蒋欣新剧《潜行者》 | 日本一级毛片免费看 | 国产色黄视频 | 久久久青草婷婷精品综合日韩 | 亚洲AV无码精品蜜桃 | 波多野结衣一区二区在线 | yellow日本中文字幕 | 亚洲女同videos | 欧美tube最新的59 | 丁香激情视频 | 天天操操夜夜操操 | 蜜臀av中文字幕 | 久久久入口 | 国产美女啪啪高潮 | 丰满熟女高潮毛茸茸欧洲 | 精品国产一区二区三区麻豆仙踪林 |