基於CCS工程MSP430串列埠公升級(一)

2021-09-03 01:33:01 字數 2075 閱讀 5132

第一次接觸msp430的晶元,第一次使用ccs開發環境,花了將近乙個星期的時間,才把msp430串列埠公升級做出來。

在lnk_msp430fg479.cmd中修改boot flash的起始位址(0xf000~0xffe0),將近4k的flash

memory

// timer a0 interrupt service routine

#if defined(__ti_compiler_version__) || defined(__iar_systems_icc__)

#pragma vector=timera0_vector

__interrupt void timer_a (void)

#elif defined(__gnuc__)

void __attribute__ ((interrupt(timera0_vector))) timer_a (void)

#else

#error compiler not supported!

#endif

#if defined(__ti_compiler_version__) || defined(__iar_systems_icc__)

#pragma vector=sd16a_vector

__interrupt void sd16isr(void)

#elif defined(__gnuc__)

void __attribute__ ((interrupt(sd16a_vector))) sd16isr (void)

#else

#error compiler not supported!

#endif

// watchdog timer interrupt service routine

#if defined(__ti_compiler_version__) || defined(__iar_systems_icc__)

#pragma vector=wdt_vector

__interrupt void watchdog_timer(void)

#elif defined(__gnuc__)

void __attribute__ ((interrupt(wdt_vector))) watchdog_timer (void)

#else

#error compiler not supported!

#endif

#if defined(__ti_compiler_version__) || defined(__iar_systems_icc__)

#pragma vector=usciab0rx_vector

__interrupt void usci_a0_rx (void)

#elif defined(__gnuc__)

void __attribute__ ((interrupt(usciab0rx_vector))) usci_a0_rx (void)

#else

#error compiler not supported!

#endif

// else

// }

while(1)

}if(rx_buf_index > 5)}}

rx_buf_index = 0;

} }

flash讀寫,msp430fg479這款mcu,乙個片區512位元組,所以需要整片512位元組的擦除寫入。每次寫入前,先把該片區的512位元組讀取到快取中,再將需要修改的內容填充到快取中,最後一次將512位元組寫入flash片區

msp430鍵盤程式

msp430 按鍵程式 含電路圖及源 include void init port void void delay void int keyprocess void return nres 處理來自埠 1 的中斷 interrupt port1 vector void port isr void i...

MSP430電平轉換

說道到這個電平轉換,寫程式的時候居然還要示波器來觀察現象,表示我們交的是211的學費,上的卻不是211大學,創新實驗室的儀器裝置真的是少的可憐啊,我級不吐槽了說說這個電平轉換的一些知識還有看法吧。看到原理圖首先得說說接線帽的問題,這個很重要,接線帽 的使用會連線到不同的引腳上,大家看原理圖的時候就會...

MSP430學習收穫

一 程式中最好不要出現乘和除,影響效率。aiver sum 16可以換成aiver sum 4 二 低功耗就是精煉減少cpu工作時間。靠讓cpu進入休眠來實現。只能用中斷和復位可以喚醒休眠。三 中斷函式前加上 interruput關鍵字表明是中斷函式式中斷函式 注意是兩個 四 pragmati cv...