CC2540的串口能否发送9bit数据,
需要一个串口发送数据格式是1个开始位 9个数据位 1个停止位。
论坛有类似问题,解答请看这边: https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/p/162110/590818#590818
您给出的链接 没有明确是否可以实现9bit数据的收发,
请问CC2540是否可以实现9BIT数据? 数据手册里是说明可以disable奇偶校验,并enable 9bit收发,但是没有标明使用哪一个寄存器收发第9位。
UxUCR.BIT9 选择8位或9位传输,Set this bit to 1 in order to enable the parity bit tranfer (as 9th bit). The content of this 9th bit is given by D9, if parity is enabled by PARITY,具体请看用户手册: http://www.ti.com/lit/ug/swru191f/swru191f.pdf
和普通51一样,第9位通常用来多机通信用的标识位吧!
看代码发现只能5~8位呀, bit9看来是停止位
串口配置 使能bit9 关闭PARITY
发送中断修改如下,测试串口发送9bit数据,单步调试发送bit9成功,全速运行bit9一直保持输出0,请问为什么。
HAL_ISR_FUNCTION( halUart0TxIsr, UTX0_VECTOR )
val = isrCfg.txBuf[isrCfg.txHead++];
UTXxIF = 0;
if (val & 0x100){
UxUCR |= UCR_D9;
}else{
UxUCR &= ~UCR_D9;
}
UxDBUF = val;