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单片机
|