微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540的串口能否发送9bit数据,

CC2540的串口能否发送9bit数据,

时间:10-02 整理:3721RD 点击:

需要一个串口发送数据格式是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;

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top