1.初始化UART0之前需要先初始化ACLK、SMCLK和MCLK。示例代碼中使用XT1,ACLK為32768,SMCLK和MCLK約為8MHZ。
2.UART的時(shí)鐘可以參考ACLK或者SMCLK,本例參考ACLK。由于參考ACLK時(shí)鐘,所以串口速率不能超過32768。選擇9600較為合適。
3.MSP430波特率的產(chǎn)生有兩種模式,低頻波特率產(chǎn)生和過采樣波特率產(chǎn)生。代碼中使用低頻波特率產(chǎn)生。
4.代碼的開頭調(diào)用了stdio,在函數(shù)中宏重寫了putchar函數(shù),定向到UART單字節(jié)輸出。
5.代碼初始化之后輸出 Hello MSP430,隨后直接反射串口接收到的數(shù)據(jù),例如發(fā)送123456即返回123456。
// 時(shí)鐘默認(rèn)情況
// FLL時(shí)鐘 FLL選擇 XT1
// 輔助時(shí)鐘 ACLK選擇 XT1 32768Hz
// 主系統(tǒng)時(shí)鐘 MCLK選擇 DCOCLKDIV 8000000Hz
// 子系統(tǒng)時(shí)鐘 SMCLK選擇 DCOCLKDIV 8000000Hz
// UART時(shí)鐘選擇 ACLK
// 低頻波特率產(chǎn)生 9600-8-N-1
#include #include void clock_config(void); void select_xt1(void); void dco_config(void); void uart_config(void); int main(void) { clock_config(); // 初始化時(shí)鐘 uart_config(); _EINT(); P4DIR |= BIT0; // P4.0輸出 printf("Hello MSP430!rn"); while(1) { P4OUT ^= BIT0; __delay_cycles(1000000); } } void clock_config(void) { WDTCTL = WDTPW + WDTHOLD; // 停止看門狗 select_xt1(); // 選擇XT1 dco_config(); // ACLK = XT1 = 32.768K // MCLK = SMCLK = 8000K } void select_xt1(void) { // 啟動(dòng)XT1 P7SEL |= 0x03; // P7.0 P7.1 外設(shè)功能 UCSCTL6 &= ~(XT1OFF); // XT1打開 UCSCTL6 |= XCAP_3; // 內(nèi)部電容 do { UCSCTL7 &= ~XT1LFOFFG; // 清楚XT1錯(cuò)誤標(biāo)記 }while (UCSCTL7&XT1LFOFFG); // 檢測XT1錯(cuò)誤標(biāo)記 } void dco_config(void) { __bis_SR_register(SCG0); // 禁止FLL功能 UCSCTL0 = 0x0000; // Set lowest possible DCOx, MODx UCSCTL1 = DCORSEL_5; // DCO最大頻率為16MHz UCSCTL2 = FLLD_1 + 243; // 設(shè)置DCO頻率為8MHz // MCLK = SMCLK= Fdcoclkdiv = (N+1)X(Ffllrefclk/n) // N為唯一需要計(jì)算的值 // Ffllrefclk FLL參考時(shí)鐘,默認(rèn)為XT1 // n取默認(rèn)值,此時(shí)為1 // (243 + 1) * 32768 = 8MHz __bic_SR_register(SCG0); // 使能FLL功能 // 必要延時(shí) __delay_cycles(250000); // 清楚錯(cuò)誤標(biāo)志位 do { UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG); // 清除所有振蕩器錯(cuò)誤標(biāo)志位 SFRIFG1 &= ~OFIFG; // 清除振蕩器錯(cuò)誤 }while (SFRIFG1&OFIFG); // 等待清楚完成 } void uart_config(void) { P3SEL = 0x30; // 選擇P3.4和P3.5的復(fù)用功能 UCA0CTL1 |= UCSWRST; // 軟件復(fù)位 UCA0CTL1 |= UCSSEL_1; // 選擇ACLK時(shí)鐘 UCA0BR0 = 3; // 查表獲得 UCA0BR1 = 0; // UCA0BRX和UCA0MCTL數(shù)值 UCA0MCTL |= UCBRS_3 + UCBRF_0; // UCA0CTL1 &= ~UCSWRST; // UCA0IE |= UCRXIE; // 使能接收中斷 } int putchar(int ch) { UCA0TXBUF = ch; while(!(UCA0IFG & UCTXIFG)); return ch; } #pragma vector=USCI_A0_VECTOR __interrupt void USCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case 0:break; case 2: // 接收中斷 while (!(UCA0IFG&UCTXIFG)); // 等待發(fā)送完成 UCA0TXBUF = UCA0RXBUF; // 接收緩沖區(qū) break; case 4:break; // 發(fā)送中斷 default: break; } }
上一篇:MSP430F5438 定時(shí)器總結(jié)
下一篇:如何在FreeRTOS下實(shí)現(xiàn)低功耗——MSP430F5438平臺(tái)
推薦閱讀
史海拾趣
1953年,一位名叫Walter Lorain CHERRY的德國年輕人在美國創(chuàng)立了Cherry公司,地點(diǎn)選在了一家餐廳的地下室。當(dāng)時(shí),Cherry的主要業(yè)務(wù)是生產(chǎn)微動(dòng)開關(guān),這種開關(guān)被廣泛應(yīng)用于各種電子設(shè)備中。Cherry的微動(dòng)開關(guān)因其高品質(zhì)和可靠性而贏得了市場的廣泛認(rèn)可,逐漸成為了行業(yè)內(nèi)的佼佼者。
ETI Systems一直將產(chǎn)品品質(zhì)視為企業(yè)的生命線。公司嚴(yán)格把控從原材料采購到產(chǎn)品生產(chǎn)的每一個(gè)環(huán)節(jié),確保每一件產(chǎn)品都符合高標(biāo)準(zhǔn)的質(zhì)量要求。正是這種對(duì)品質(zhì)的執(zhí)著追求,讓ETI Systems的產(chǎn)品在市場上贏得了良好的口碑和廣泛的認(rèn)可。同時(shí),公司也建立了完善的售后服務(wù)體系,為客戶提供及時(shí)、專業(yè)的技術(shù)支持和解決方案。
隨著國內(nèi)市場的飽和,Bipolarics Inc開始將目光投向國際市場。公司制定了一套完善的國際化戰(zhàn)略,包括在海外市場建立銷售團(tuán)隊(duì)、設(shè)立研發(fā)中心和生產(chǎn)基地等。通過不斷努力,Bipolarics Inc的產(chǎn)品逐漸打入了歐洲、北美等發(fā)達(dá)地區(qū)的市場,并獲得了良好的口碑。公司的國際化戰(zhàn)略不僅拓展了市場空間,也提升了公司的品牌影響力和國際競爭力。
隨著技術(shù)的不斷成熟,Astema開始積極拓展市場。公司制定了一系列市場策略,包括與大型電子設(shè)備制造商建立合作關(guān)系、參加國際電子展等,以擴(kuò)大品牌影響力。通過這些努力,Astema逐漸打開了國際市場的大門,其產(chǎn)品遠(yuǎn)銷海外,市場份額穩(wěn)步提升。
在發(fā)展過程中,南晶電子始終秉持合作共贏的理念。公司與上下游企業(yè)建立了緊密的合作關(guān)系,共同推動(dòng)產(chǎn)業(yè)鏈的發(fā)展。同時(shí),南晶電子還積極參與社會(huì)公益事業(yè),為社會(huì)進(jìn)步和發(fā)展貢獻(xiàn)自己的力量。通過與各方的共同努力,南晶電子在電子行業(yè)樹立了良好的企業(yè)形象和口碑。
在無線通信技術(shù)快速發(fā)展的時(shí)代,Conexant公司積極尋求與業(yè)界領(lǐng)先企業(yè)的合作機(jī)會(huì)。2001年,Conexant宣布將其無線業(yè)務(wù)部門與Alpha Industries合并,共同創(chuàng)建一個(gè)價(jià)值約30億美元的新企業(yè)。這一合并不僅擴(kuò)大了Conexant在無線通信領(lǐng)域的市場份額,也為其帶來了更多的技術(shù)資源和市場機(jī)會(huì)。合并后的新企業(yè)以Conexant為主導(dǎo),通過整合雙方的優(yōu)勢資源,實(shí)現(xiàn)了無線業(yè)務(wù)的快速發(fā)展和市場份額的穩(wěn)步提升。
我使用的symbol 的MC3000設(shè)備,通過Wireless去連接PC端的SQL 2005 Express的DataBase,結(jié)果在sqlconn.open()的時(shí)候報(bào)錯(cuò):PlatformNotSupportedException。SQL 2005 Express的遠(yuǎn)程應(yīng)該沒問題,已經(jīng)打開,因?yàn)槲铱梢栽谄渌鸓C上面訪問,有誰知道原因嗎 ...… 查看全部問答∨ |
記得大三的時(shí)候,自己看到網(wǎng)絡(luò)上宣傳嵌入式多么的好,再加上自己對(duì)嵌入式確實(shí)比較感興趣,于是,那時(shí)立志做一位嵌入式工程師。那一年,應(yīng)該說學(xué)習(xí)了不少關(guān)于嵌入式的東西,還問了很多在嵌入式這一行工作的同志,了解了嵌入式的基本知 ...… 查看全部問答∨ |
在ARM7TDMI中有用戶,系統(tǒng)...7種工作模式.而看到一網(wǎng)上資料說,Cortex-M3處理器只有2種工作模式:線程模式 和 處理器模式.能否指點(diǎn)一下,這兩種模式的具體情況(eg:如何工作),和ARM7TDMI中的7種工作模式有無聯(lián)系或相似之處.… 查看全部問答∨ |
各位大俠,求一個(gè)NE5532調(diào)音電路,要求能夠?qū)崿F(xiàn)高,中,低音調(diào)節(jié),感激不盡!… 查看全部問答∨ |
各位前輩,我現(xiàn)在跟老師做一個(gè)項(xiàng)目,想要把200M的信號(hào)分頻為1M的信號(hào),在網(wǎng)上搜了很久,也沒搜到合適的分頻芯片,不知道有木有200倍的分頻芯片,現(xiàn)成的倒是有10倍和20倍的分頻,不知道把它們兩個(gè)串聯(lián)起來用的效果怎么樣,晚輩是新手,還望各位前輩 ...… 查看全部問答∨ |
本帖最后由 paulhyde 于 2014-9-15 04:04 編輯 由于今年TI杯出現(xiàn)了攝像頭我們買了OV7670模塊,請(qǐng)問各位大蝦有沒有這方面懂的啊?給點(diǎn)指導(dǎo)啊!!! … 查看全部問答∨ |
本人外行,大家?guī)臀曳治鱿聨讉€(gè)連線圖和符號(hào)吧,只要大概意思 不好意思啊,這么簡單的問題還來麻煩大家,本人畢業(yè)多年了,已經(jīng)忘得差不多了,最近再閱讀有關(guān)資料遇到了問題,我對(duì)不起我的大學(xué)老師。大家?guī)臀依斫饫斫? 問題: 一:幫我分析下圖一代表個(gè)啥意思啊(Internal Cables)?看不懂那個(gè)P1 J1那里是什么 ...… 查看全部問答∨ |
$(\'flv_y30\').innerHTML=(AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://player.youku.com/player.php/sid/XMTUwNDU2MzM2/v.swf\', \'qu ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 英特爾被曝向臺(tái)積電下達(dá) 2nm 晶圓代工訂單,成為該制程首批客戶
- Akamai 研究發(fā)現(xiàn):在亞太地區(qū)及日本,AI 驅(qū)動(dòng)的應(yīng)用程序遭受了 510 億次 Web 攻擊,年同比增長達(dá) 73%
- 汽車顯示屏——第1部分:TFT LCD、OLED和micro-LED顯示屏基本原理
- 英特爾首秀上海車展:以“芯”賦能,攜手合作伙伴推動(dòng)全車智能化
- 中國首個(gè)高速L3商用解決方案!華為新一代ADS 4正式發(fā)布
- 增強(qiáng)自主移動(dòng)機(jī)器人的安全性
- Cadence 推出業(yè)界首款 12800MT/s DDR5 MRDIMM Gen2 內(nèi)存 IP 系統(tǒng)解決方案
- 消息稱英特爾本周內(nèi)公布 20%+ 大裁員計(jì)劃
- 盤點(diǎn)慕尼黑電子展上那些火熱的機(jī)器人技術(shù)和產(chǎn)品
- AI算力狂飆下的能源困局,ST如何突圍?
- 逆變器
- BC-95 B8的NB模塊的UDP聯(lián)網(wǎng)流程
- LED電源品質(zhì)的簡易辨別
- 學(xué)習(xí)Wince的好方法
- LIN主機(jī)讀取從機(jī)的供應(yīng)商標(biāo)識(shí)符問題
- EEWORLD大學(xué)堂----Atmega8制作最簡單的示波器_標(biāo)清
- PDA 連接 SQL 2005 Express問題
- 調(diào)查:大家的嵌入式是什么樣的?
- EEWORLD大學(xué)堂----[高精度實(shí)驗(yàn)室] 磁傳感器: 基礎(chǔ)與進(jìn)階
- 穩(wěn)定時(shí)間挑戰(zhàn)與改進(jìn)技巧