MSP430之學習札記
在MSP430的C語言中,支持3種形式的進制類型,即十進制(無前綴或后綴)、八進制(添加前綴“0”)和十六進制(添加前綴“0x”)。
令匠人郁悶的是,編譯器居然不支持二進制的寫法???這讓習慣于與二進制打交道的匠人抓狂不已!嗚呼!吐血!
補充:后來和行家聊及此事,被告知C51里也不支持二進制的寫法。看來是怪匠人自己平時用匯編多,而用C太少,少見多怪了。
在這一點上,還是飛思卡爾的編譯器做的更好,他們支持BIN格式
2.
IAR軟件自帶的編輯器,其默認值為按一次TAB鍵對應2個空格,這不符合匠人自己的習慣。特尋找出修改方法如下:
3.
如下:
asm
4.
經過測試,當VCC=3V,上拉電阻開通后,如果該IO口外接到低電平,則該IO口上的電流≈80uA 。也就是說,其內部電阻≈37KΩ。
因此,在一些對靜態(tài)耗電要求更高的地方,可以考慮用外部電阻,并選用更大的阻值,以降低系統(tǒng)的功耗。
5.
點擊菜單“project”下的“Options”項,進入Category列表中C/C++ compiler界面的List標簽,選擇生成LST文件并進行相關設置,如下圖所示:
6.
當一個IO口被設置為輸入口,且其輸入狀態(tài)為高電平時,不能對其進行寫0操作,否則會改變其讀入的狀態(tài)。例如:
先執(zhí)行以下指令:
P1DIR = 0x7f;
P1REN = 0x80;
P1OUT = 0x00;
此時如果再去判別P1IN,發(fā)現讀進來的P1.7口電平=0了。將上述第3行指令改成下面的形式:
P1OUT &= 0x80;
經過這樣的操作,則P1.7口讀入電平=1。
7.
MSP430有一個活動模式(AM)和5個低功耗模式(LPM0~LPM4)。因此,和以往的思路所不同的是,MSP430官方建議我們平時讓系統(tǒng)處于待機狀態(tài)(某一種低功耗模式),而由中斷來喚醒并執(zhí)行相關功能。中斷完成后讓系統(tǒng)再次進入低功耗待機模式。
評論