当CC2541串口出现乱码等问题,可以尝试以下几个操作。
1:关闭任务空闲的休眠
取消 预处理的 POWER_SAVING 定义(前面加上 x 相当于取消了 POWER_SAVING 定义)

2:关闭自动分频,因为UART的波特率会随着内核频率改变。
在SimpleBLECentral_Init 或者 SimpleBLEPeripheral_Init 函数中,将
HCI_EXT_ClkDivOnHaltCmd(HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT); 注释掉
//simpleBLECentral.c
void SimpleBLECentral_Init(uint8_t task_id)
{
simpleBLETaskId = task_id;
//.................省略...........................
// 在暂停时启用时钟分频当RF处于活动状态且C

本文总结了CC2541蓝牙芯片在使用UART通信时可能出现的乱码问题及其解决方案。首先,建议关闭任务空闲时的休眠模式,取消预处理的POWER_SAVING定义。其次,为了保持UART波特率稳定,需要注释掉自动分频设置,即注释掉HCI_EXT_ClkDivOnHaltCmd(HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT)这行代码。
最低0.47元/天 解锁文章
1342

被折叠的 条评论
为什么被折叠?



