器件型号: MSP430F6459
您好专家、
我正在尝试在 MSP430F6459TPZR 上为 RS485 配置 UART。 时钟为 20Mhz、波特率为 115200。
我使用了以下代码:
======================
P2SEL |=(BIT4 + BIT5); //新 UART 针脚:P2.4、5 = UCA1 TXD/RXD
UCA0CTL1 =(uint8_t) UCSWRST;
UCA0CTL0 =(uint8_t) 0; // 8 位、无奇偶校验、1 个停止
UCA0CTL1 |=(uint8_t) UCSSEL_SMCLK;
UCA0BR0 =(uint8_t) 0xA;
UCA0BR1 = 0;
UCA0STAT = 0x00;
UCA0IE = 0x00;
UCA0MCTL =(uint8_t) 0xAD;//(uint8_t)(13<< 4)|(0xAD << 1)| UCOS16;//UCBRF_13 + 0xAD + UCOS16;//SUCBRF_13 + UCOS16;//UCBRS2 + UCBRS0; //请参阅表
UCA0CTL1 且=(uint8_t)~UCSWRST;
==============================
我肯定有一个挑战配置 UCA0MCTL ,因为我不知道如何存储 UCBRSx 值 (0xAD) 在它,因为从我的未知它应该只消耗 3 位在 UCA0MCTL 寄存器.
不确定其他寄存器中是否存在任何错误。 我非常感谢你在这方面的帮助
谢谢、
Kavita