工具/软件:Code Composer Studio
每当我的 CC2640执行 UART 读取回调时、它只会发生一次。 UART_READ 在第一次 UART 回调后再次发生、但从未发生第二次回调。 我已确认在 UART 回调中第二次尝试发送数据、但从未发生过。 我在经过修改的简单 BLE 中央版本中执行此操作。
UART_PARAMS_INIT (uartParams);
uartParams.baudrate = 115200;
uartParams.readMode = UART_MODE_CALLACK;
uartParams.writeMode = UART_MODE_BLOCKING;
uartParams.writeDataMode = UART_DATA_TEXT;
uartParams.readDataMode = UART_DATA_TEXT;
uartParams.stopbits = UART_STOP_ONE;
uartParams.readReturnMode = UART_return_full;
uartParams.readEcho = UART_ECHO_OFF;
uartParams.readCallback = UartReadCallback;
UART_Handle = UART_open (0、uartParams);
在第二次调用 UART_Read (非回调)后、它卡在汇编 0x1001bbd6中、该汇编是 CMP 和 beq
1001bbd6:2a00 CMP R2、#0
1001bbd8:D0FD beq #0x1001bbd6