void UART_init()
{
UTCTL0|=SSEL1; //UCLK=SMCLK
UBR00=0x03;
UBR10=0x00; //在32768HZ下进行9600波特率的通信
UMCTL0=0x89; //波特率分频因子32768/9600=3.41
UCTL0=CHAR; //8位字符长度
ME1|=URXE0+UTXE0; //允许USART0 TXD/RXD
IE1|=URXIE0; //使能USART0 RX中断
P3SEL|=0x30; //p3.4,5用作USART0 TXD/RXD
P3DIR|=0x10; //p3.4输出
UCTL1&=~SWRST; //使能USART
_EINT(); //打开全局中断
RcvIndex = 0;
for(;;)
{
LPM0; //进入LPM0模式
_NOP();
}
}
我标注的地方要求在波特率为9600的情况下,在USART串口模式下,起始位1 位,停止位1 位,数据位8 位,发送一帧数据要10位,而字符长度只有8位。哪位前辈能帮我解答一下。我用的是F1611单片机
此帖出自
小平头技术问答
一周热门 更多>