1.#i nclude<>指要在編輯器設(shè)定目錄下,#i nclude""指的是在當(dāng)前工程目錄下。
2.要調(diào)用另一個(gè)文件中的函數(shù),要把這個(gè)函數(shù)文件放到當(dāng)前工程目錄下,并且在工程中添加此文件。
3.命名中不能有-,比如:byq-ee會(huì)認(rèn)為是錯(cuò)誤的,要用下劃線。
4.用IAR軟件仿真時(shí),可以加入變量,如果是查看I/O信息只需加入PXIN,PXOUT即可。
5.IAR在處理字符時(shí),要注意,是字符處理結(jié)尾標(biāo)志,他和其他編輯軟件是不同的。比如我們長(zhǎng)用字符處理回
自動(dòng)在結(jié)尾處加,但I(xiàn)AR有些是不加的,這就要十分注意。
6.如果只用到LFX1的低速時(shí)鐘,9600bit/s傳輸?shù)脑?,接收?huì)出現(xiàn)問題,原因是誤差太大,可以設(shè)置到4800以下。
7.在寫FLASH時(shí)要注意其工作頻率在257K~476k之間,如果不是,則會(huì)出現(xiàn)錯(cuò)誤。而且FLAGH只能寫入0,這樣就出現(xiàn)了
必須先擦除在寫入的模式。
8.當(dāng)IO口作為輸入時(shí),要根據(jù)平時(shí)的狀態(tài)加電阻,平時(shí)為高時(shí),加個(gè)上拉電阻,平時(shí)為低時(shí)加個(gè)下拉電阻以增加穩(wěn)定性。
9.在FLASH寫時(shí)一定要關(guān)外部中斷。
10.MSP430一般是不要RC復(fù)位的,一般只要接個(gè)100K左右電阻就可以了,如果要加電容,它的大小要根據(jù)以下兩個(gè)標(biāo)準(zhǔn)選擇:
下載程序不會(huì)出現(xiàn)下載不了
程序上電會(huì)能穩(wěn)定復(fù)位
11.用&表達(dá)式作為判斷時(shí),不要忘記加括號(hào)。
12.不要使用中斷嵌套。
同時(shí),為了使用C語(yǔ)言來(lái)編寫MSP430的高質(zhì)量代碼需要注意。
微處理器一般用于特定環(huán)境和特定用途,出于成本、功耗和體積的考慮,一般都要求盡量節(jié)省使用資源,并且,由于微處理器硬件一般都不支持有符號(hào)數(shù)、浮點(diǎn)數(shù)的運(yùn)算,且運(yùn)算位有限,因此,分配變量時(shí)必須仔細(xì)。另外要說(shuō)明的是,速度和存儲(chǔ)器的消耗經(jīng)常是2個(gè)不可兼顧的目標(biāo),在多數(shù)情況下,編程者必須根據(jù)實(shí)際情況作出權(quán)衡和取舍。
需要注意的事項(xiàng)如下:
1) 通常在滿足運(yùn)算需求的前提下,盡量選擇為變量定義字節(jié)少的數(shù)據(jù)類型。
比如最常用的int和char,int是16位的,char是8位的,如果沒有必要,不要使用int,而且使用char也最好使用unsigned char。運(yùn)行時(shí),可以在變量窗口看到,使用類型為unsigned char的變量是16進(jìn)制的格式,而使用int的是十進(jìn)制格式,如果char沒有定義為unsigned,會(huì)出現(xiàn)負(fù)號(hào),如果沒有必要的話,在430中是不需要負(fù)數(shù)的。
2) 盡量不用過長(zhǎng)的數(shù)據(jù)類型,如long、long long和double
3) MSP430的C編譯器不支持位尋址,所以運(yùn)算中盡量減少位操作,對(duì)于只有“是”和“否”的變量,如果RAM容量允許,則可分配為unsigned char類型,可提高運(yùn)算速度。如果分配為某字節(jié)的某個(gè)位,可以減少存儲(chǔ)器的消耗,但是會(huì)降低運(yùn)算速度
4) 避免使用浮點(diǎn)數(shù),盡量使用定點(diǎn)數(shù)進(jìn)行小數(shù)運(yùn)算。如果必須使用浮點(diǎn)數(shù),則盡量用32位的float,而不是64位的double
5) 盡量將變量分配為無(wú)符號(hào)數(shù)據(jù)類型
6) 對(duì)于指針變量,如果聲明后其值不再改變,則聲明為const類型,這樣編譯器編譯時(shí)能更好的優(yōu)化生成的代碼
7) 盡可能的使用局部變量而非全局變量或者靜態(tài)變量(static)。這樣有利于編譯器編譯時(shí)更好的優(yōu)化生成的代碼
8) 避免對(duì)局部變量使用 &取地址符。因?yàn)檫@樣會(huì)使編譯器無(wú)法把此變量放在CPU的寄存器中,而是放在RAM中,從而失去了優(yōu)化的機(jī)會(huì)
9) 僅在模塊內(nèi)使用的變量聲明為static,有利于優(yōu)化代碼
10) 如果堆??臻g有限,盡量減少函數(shù)調(diào)用的層次和遞歸調(diào)用
11) 如果傳送參數(shù)過多,可將參數(shù)組成一個(gè)數(shù)組或者結(jié)構(gòu)體,然后用指針傳遞
12) 某些變量在中斷程序和普通級(jí)別程序中都會(huì)被用到,所以必須加以保護(hù)。
將變量聲明為volatile類型,編譯器優(yōu)化時(shí)就不會(huì)移動(dòng)它,對(duì)它的訪問不會(huì)被延遲。
為保證對(duì)volatile的變量不被打斷,為此,可以在訪問它的部分(即訪問它的函數(shù))前面加上__moniter的聲明
上一篇:MSP430教程16:MSP430單片機(jī)的框架程序
下一篇:MSP430教程13:MSP430單片機(jī)比較器A模塊
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護(hù)
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級(jí)新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動(dòng)力電池項(xiàng)目齊刷進(jìn)度條
- 現(xiàn)代汽車韓國(guó)建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機(jī)器人成資本焦點(diǎn)
- 艙駕一體“點(diǎn)燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬(wàn)億蛋糕」,誰(shuí)在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會(huì)成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財(cái)報(bào)和電話會(huì)議時(shí)間安排
- 【Molex莫仕工業(yè)通訊與安全解決方案】
- 有獎(jiǎng)直播:基于GaN 的高頻(1.2MHz)高效率 1.6kW 高密度臨界模式 (CrM) 圖騰柱功率因數(shù)校正 (PFC)轉(zhuǎn)換器的應(yīng)用介紹
- 2023 DigiKey KOL 系列——將TinyML融入IoT物聯(lián)網(wǎng)應(yīng)用中
- DIY電子鐘套件,有興趣來(lái)做啊
- 解鎖 TE 掌上信息智庫(kù),獲取一站式資源!
- 慶元宵答題抽獎(jiǎng),知識(shí)與禮物齊飛
- 觀看TI IOT解決方案研討會(huì) 答題即可贏取更多精美好禮!
- 免費(fèi)申請(qǐng)?jiān)囉脇福祿克Norma6000功率分析儀
- 有獎(jiǎng)直播 | AI之眼——安森美圖像傳感器 報(bào)名中
- 2025玄鐵RISC-V生態(tài)大會(huì) 火熱報(bào)名中,參會(huì)贏好禮
- 成都CEF上將舉辦“快克杯”全國(guó)電子制造行業(yè)焊接成都分賽
- 寶德計(jì)算機(jī)系統(tǒng)有限公司將攜系列產(chǎn)品亮相成都CEF
- 現(xiàn)代Autron與風(fēng)河合作開發(fā)下一代自動(dòng)駕駛和連接平臺(tái)
- 成都電子信息博覽會(huì)精彩看點(diǎn)提前知曉
- 山澤將出席2019成都CEF,全方位展示優(yōu)勢(shì)領(lǐng)域及高品質(zhì)產(chǎn)品
- 衛(wèi)星互聯(lián)網(wǎng)將用無(wú)人機(jī)提供網(wǎng)絡(luò)接入
- 傳國(guó)巨有望并購(gòu)芯片電阻陶瓷基板廠九豪?
- 全球手機(jī)明年統(tǒng)一充電器 以減少資源浪費(fèi)
- 機(jī)器人噴涂:P-40iA新型噴涂機(jī)器人
- 2020年我國(guó)數(shù)據(jù)總量全球占比將達(dá)20%
- 122x32液晶1520控制器驅(qū)動(dòng)程序
- 編輯框的一點(diǎn)小問題
- stm32的遠(yuǎn)程調(diào)控
- MPC56XX用什么開發(fā)環(huán)境啊,有免費(fèi)的嗎?
- 求助:Wince如何快速重繪窗口
- 智能傳感器預(yù)警火災(zāi)更精準(zhǔn)
- 控制C8051F330產(chǎn)生模擬電壓信號(hào),鋸齒波、正弦波
- 我們硬件板塊是不是很窮呀?。?/span>
- 單片機(jī)在醫(yī)療器械設(shè)備中有哪些應(yīng)用
- RIGOL杯電子系統(tǒng)設(shè)計(jì)大賽題目&競(jìng)賽板使用說(shuō)明