立功科技ZLG52810P0蓝牙调试问题汇总

  1. 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 }
  2.         有细心的朋友可能会注意到CMD发送的字节长度是-1的,为什么呢?好问题,俺也不清楚。
    俺猜想是为了消除C编译器为""自动添加的/0结束字符。
    cause如果不加就会返回AT+ERR:9。
    查表后得到《输入指令长度无效》。
posted @ 2021-04-22 14:07  Douzen  阅读(414)  评论(0)    收藏  举报