总结一下CC2541 BLE蓝牙芯片 串口(UART)出现的乱码等问题

当CC2541串口出现乱码等问题,可以尝试以下几个操作。

1:关闭任务空闲的休眠
取消 预处理的 POWER_SAVING 定义(前面加上 x 相当于取消了 POWER_SAVING 定义)
总结一下CC2541 BLE蓝牙芯片 串口(UART)出现的乱码等问题_第1张图片

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处于活动状态且CC254x MCU停止时,这会有效降低电流
	// 但是会在串口活动期间改变CPU频率(无论收发),会引起UART异常
	// HCI_EXT_ClkDivOnHaltCmd(HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT);

//.................省略...........................
}

你可能感兴趣的:(BLE)