📄 usart0,8mhz,115200.c
字号:
/**********************************************************/
//MSP430 Advanced Developping Components - [BaseComponents_43.C]
////USART0, UART 115200 Echo ISR, HF XTAL MCLK
////->>> http://www.dutzm.cn
////->>> tel :(0)13130044096
/**********************************************************/
//MSP430高级实验开发组件 - USART0,8MHz,115200
//时钟设置:
////MCLK = UCLK0 = LFXT1 = 8MHz
////Baud rate divider with 8Mhz XTAL = 8000000/115200 = 0069 (0045h)
//当前演示程序功能描述:
////模拟接收端,在RX中断程序中将接收到的数据发送回去
/*********************************************************/
#include <msp430x14x.h>
void main(void) {
unsigned char i;
WDTCTL = WDTPW + WDTHOLD; //停止看门狗
P3SEL |= (BIT4 + BIT5); //P34,P35 USART0 TXD/RXD
BCSCTL1 |= XTS;
do {
IFG1 &= ~OFIFG;
for (i=0xFF;i>0;i--);
}while((IFG1&OFIFG));
BCSCTL2 |= (SELM1 + SELS); //MCLK = XT2,SMCLK = XT2
ME1 |= UTXE0 + URXE0; //允许USART0 TXD/RXD
UCTL0 |= CHAR; //8-bit
UTCTL0 |= SSEL0 + SSEL1; //UCLK = MCLK
UBR00 = 0x45;
UBR10 = 0x00;
UMCTL0 = 0x00; //Modulation
UCTL0 &= ~SWRST; //初始化USART状态机
IE1 |= URXIE0; //允许USART0 RX中断
_BIS_SR(GIE);
}
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void) {
while(!(IFG1&UTXIFG0)); //等待
TXBUF0 = RXBUF0; //将收到的数据发送出去
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -