主控STM32F103,HAL,
与EC600N进行串口通信,AT控制;
发送AT+QIRD指令时,当接受数据过大,
使用HAL_UART_Receive_IT()接收会出现程序卡死的问题;
改为HAL_UART_Receive()堵塞式接收可解决;
改为堵塞式接收前,使用HAL_UART_AbortReceive_IT();关闭接收中断;
接收完成后再用HAL_UART_Receive_IT()重新打开;
在使用AT+QISEND发送数据时,出现一个问题,一直接收不到模块返回的SEND OK的;
发现是HAL库USART的锁问题,在发送数据时不能接收数据,非全双工;
屏蔽__HAL_LOCK(huart);后解决