久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

MSP430單片機(jī)開(kāi)發(fā)總結(jié)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年09月25日   【字體:

1.#i nclude<>指要在編輯器設(shè)定目錄下,#i nclude""指的是在當(dāng)前工程目錄下。
2.要調(diào)用另一個(gè)文件中的函數(shù),要把這個(gè)函數(shù)文件放到當(dāng)前工程目錄下,并且在工程中添加此文件。
3.命名中不能有-,比如:byq-ee會(huì)認(rèn)為是錯(cuò)誤的,要用下劃線(xiàn)。
4.用IAR軟件仿真時(shí),可以加入變量,如果是查看I/O信息只需加入PXIN,PXOUT即可。
5.IAR在處理字符時(shí),要注意,是字符處理結(jié)尾標(biāo)志,他和其他編輯軟件是不同的。比如我們長(zhǎng)用字符處理會(huì)自動(dòng)在結(jié)尾處加,但I(xiàn)AR有些是不加的,這就要十分注意。
6.如果只用到LFX1的低速時(shí)鐘,9600bit/s傳輸?shù)脑?huà),接收會(huì)出現(xiàn)問(wèn)題,原因是誤差太大,可以設(shè)置到4800以下。
7.在寫(xiě)FLASH時(shí)要注意其工作頻率在257K~476k之間,如果不是,則會(huì)出現(xiàn)錯(cuò)誤。而且FLAGH只能寫(xiě)入0,這樣就出現(xiàn)了必須先擦除在寫(xiě)入的模式。
8.當(dāng)IO口作為輸入時(shí),要根據(jù)平時(shí)的狀態(tài)加電阻,平時(shí)為高時(shí),加個(gè)上拉電阻,平時(shí)為低時(shí)加個(gè)下拉電阻以增加穩(wěn)定性。
9.在FLASH寫(xiě)時(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)編寫(xiě)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) 通常在滿(mǎn)足運(yùn)算需求的前提下,盡量選擇為變量定義字節(jié)少的數(shù)據(jù)類(lèi)型。比如最常用的int和char,int是16位的,char是8位的,如果沒(méi)有必要,不要使用int,而且使用char也最好使用unsigned char。運(yùn)行時(shí),可以在變量窗口看到,使用類(lèi)型為unsigned char的變量是16進(jìn)

制的格式,而使用int的是十進(jìn)制格式,如果char沒(méi)有定義為unsigned,會(huì)出現(xiàn)負(fù)號(hào),如果沒(méi)有必要的話(huà),在430中是不需要負(fù)數(shù)的。
      2) 盡量不用過(guò)長(zhǎng)的數(shù)據(jù)類(lèi)型,如long、long long和double
    3) MSP430的C編譯器不支持位尋址,所以運(yùn)算中盡量減少位操作,對(duì)于只有“是”和“否”的變量,如果RAM容量允許,則可分配為unsigned char類(lèi)型,可提高運(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ù)類(lèi)型
    6) 對(duì)于指針變量,如果聲明后其值不再改變,則聲明為const類(lèi)型,這樣編譯器編譯時(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) 如果堆棧空間有限,盡量減少函數(shù)調(diào)用的層次和遞歸調(diào)用
    11) 如果傳送參數(shù)過(guò)多,可將參數(shù)組成一個(gè)數(shù)組或者結(jié)構(gòu)體,然后用指針傳遞
    12) 某些變量在中斷程序和普通級(jí)別程序中都會(huì)被用到,所以必須加以保護(hù)。將變量聲明為volatile類(lèi)型,編譯器優(yōu)化時(shí)就不會(huì)移動(dòng)它,對(duì)它的訪(fǎng)問(wèn)不會(huì)被延遲。為保證對(duì)volatile的變量不被打斷,為此,可以在訪(fǎng)問(wèn)它的部分(即訪(fǎng)問(wèn)它的函數(shù))前面加上__moniter的聲明。

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 九九在线视频 | 日韩网站在线观看 | 久久综合狠狠综合久久综合88 | 精品一区二区三区中文字幕 | 羞羞色网站 | 成人在线精品视频 | 中文字幕在线二区 | 欧洲成人免费视频 | 国产精品99久 | 国产91综合一区在线观看 | 日韩精品一区二区三区视频播放 | 一区二区三区电影在线观看 | 欧美一级欧美三级在线观看 | 国产成人免费视频网站高清观看视频 | 天天干人人 | 国产九九av | 久久精品一区二区 | 中文字幕一区二区三区在线观看 | 国产美女自拍视频 | 99色在线 | 国产伦精品一区二区三区照片91 | 国产精品久久国产精品 | 第一区在线观看免费国语入口 | 久久av一区二区三区 | 精品免费国产一区二区三区四区 | 亚洲九色 | 国产在线a视频 | 五月天婷婷久久 | 黄色片在线观看网址 | 视频二区| 欧美国产精品 | www.成人.com| 国产午夜精品福利 | 亚洲国产精品成人综合久久久 | 99免费精品视频 | 视频在线一区二区 | 欧美日韩一区在线 | 亚洲精品在线看 | 午夜精品久久久久久久久久久久 | 精品在线免费观看视频 | 在线观看国产视频 |