立功科技ZLG52810P0蓝牙调试问题汇总
- BLE传回32的串口数据是非0x0D,0A结束的。如果你设置的中断回传标志位是靠0x0D,0A来判断的话,需要在传输指令后额外主动调用回传函数。
1 static char ATcmd[] = "AT+ACOMA:?"; 2 void BLE_SendATcmd(void) 3 { 4 HAL_UART_Transmit(&UART1_Handler, ATcmd, sizeof(ATcmd)-1, 0xffff); 5 HAL_UART_Transmit(&UART1_Handler, USART_RX_BUF, Uart1_Rx_Cnt, 0xffff); 6 memset(USART_RX_BUF,0x00,sizeof(USART_RX_BUF)); 7 Uart1_Rx_Cnt = 0 ; 8 }
- 有细心的朋友可能会注意到CMD发送的字节长度是-1的,为什么呢?好问题,俺也不清楚。
俺猜想是为了消除C编译器为""自动添加的/0结束字符。
cause如果不加就会返回AT+ERR:9。
查表后得到《输入指令长度无效》。

浙公网安备 33010602011771号