新聞中心

MSP430單片機(jī)uart

作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
USART模塊分別由波特率部分:波特率發(fā)生器,串行通訊接收/發(fā)送控制寄存器。接收部分,發(fā)送部分,端口IO部分。

利用串口調(diào)試軟件,向串口發(fā)送一個(gè)字符,MSP430單片機(jī)接收到后從低功耗中喚醒.并將收接緩沖區(qū)的字符再發(fā)送到軟件中.單片機(jī)發(fā)送完后又進(jìn)入低功耗狀態(tài).

本文引用地址:http://butianyuan.cn/article/201611/321290.htm

#include
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止WDT
UCTL0 = CHAR; // 設(shè)串口控制寄存器,設(shè)為8位字符格式
UTCTL0 = SSEL0; // 設(shè)串口控制寄存器所使用的時(shí)鐘,選擇UCLK = ACLK
UBR00 = 0x0D; // 波特率設(shè)置32k/2400 - 13.65
UBR10 = 0x00;
UMCTL0 = 0x6D; // 波特率調(diào)整器設(shè)置
ME1 |= UTXE0 + URXE0; // 模塊允許寄存器設(shè)置,使能USART0 TXD/RXD
IE1 |= URXIE0; // 中斷允許寄存器設(shè)置,接收中斷允許
P3SEL |= 0x30; // 將P3.4,5使用外圍模塊= USART0 TXD/RXD
P3DIR |= 0x10; // 將P3.4設(shè)為輸出(發(fā)),P3.5默認(rèn)為輸入(收)
_EINT(); // 全局中斷使能

for (;;)
{
LPM3; // 進(jìn)入LPM3模式,等待字符接收.
while ((IFG1 & UTXIFG0) == 0); // USART0發(fā)送UTXIFG0=1,表示UTXBUF準(zhǔn)備好發(fā)送一下字符
TXBUF0 = RXBUF0; // 將收到緩沖區(qū)字符送發(fā)送區(qū)
}
}

//串口接收中斷,退出LPM3模式.
#pragma vector=USART0RX_VECTOR
__interrupt void usart0_rx (void)
{
LPM3_EXIT;
}



關(guān)鍵詞: MSP430單片機(jī)uar

評論


技術(shù)專區(qū)

關(guān)閉