微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540串口通信丢数据和乱码问题

CC2540串口通信丢数据和乱码问题

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

unbelievable! TI的simpleBLEperipheral工程做串口透传时居然出现丢数据和乱码的情况, 这是TI官方透传包啊!

我的硬件是MSP430 + CC2540(UART0), CC2540透传APP下发的数据到MSP430,代码是在simpleBLEperipheral基础上开发的。  CC2540用的USART0 通信, DMA模式, 开流控,波特率115200. 

接口用的 :Hal_UART_RxBufLen() 读数据长度,  HalUARTRead读串口数据。

在网上查了很多帖子, 都说有2点会影响到串口数据收发:

1.  开启了POWER_SAVING

2.  开启了 HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_divIDE_ON_HALT );

根据帖子我做了如下修改:

 POWER_SAVING 改为 xPOWER_SAVING

    关闭 HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_divIDE_ON_HALT ); 语句

   打开HCI_EXT_HaltDuringRfCmd(HCI_EXT_HALT_DURING_RF_DISABLE); 语句

修改后,CC2540串口只能发 不能接受数据了!

麻烦各位大神帮忙解答下  万分感谢!

你用下面这个例子和1.4.1的协议栈去试。都是写好的,不会花你什么时间。发数时加个长度,比如03 01 02 03 这样子。

如果还有问题,再提。

http://processors.wiki.ti.com/index.php/SerialBLEbridge_V_1.4.1

建议帧结构加上帧头、帧尾、校验、长度等。同时使用状态机判断收发情况,增加重发机制

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

网站地图

Top