尊敬的先生/女士:
我已经从 slac700c.zip 中修改了以下内容- msp430fr243x_euscia0_UART_01.c 我希望将 MSp430FR2633配置为以9600波特率运行。 我已经按照用户指南 eUSCI_A 操作–UART 模式(第589页)操作。 默认115200能够使 UART 正常工作、但当我设置为波特率9600时、无法使 UART 在超级终端上工作。
void UART_init (void)
{
//配置 UART 引脚
P1SEL0 |= BIT4 | BIT5; //将2个 UART 引脚设置为第二功能
//配置 UART
UCA0CTLW0 |= UCSWRST; //将 eUSCI 置于复位状态
UCA0CTLW0 |= UCSSEL_SMCLK;
//波特率计算
//波特率= 115200
// UCA0BR0 = 8; // 1000000/115200 = 8.68
// UCA0MCTLW = 0xD600; // 1000000/115200 - INT (1000000/115200)=0.68
// UCBRSx 值= 0xD6 (请参阅 UG)
//波特率=9600
UCA0BR0 = 6; // 1000000/9600 = 104
UCA0MCTLW = 0x2000 | UCOS16 | UCBRF_8; // 1000000/9600 - INT (1000000/9600)=0.1666667 =1
UCA0BR1=0;
UCA0CTLW0 &=~UCSWRST; //初始化 eUSCI
UCA0IE |= UCRXIE; //启用 USCI_A0 RX 中断
}
//结束 UART_init
有关 MSP430FR2633如何将波特率设置为9600的任何帮助或示例都将很有帮助。
此致、
公里/小时