在usart3接收emqtt客户端发送过来的数据会出现丢失的情况,在模拟mqtt客户端数据接收时候又不会出现数据丢失。相同的代码,在socket接收数据的时候也不会出现丢失
以下是我的串口中断
void DEBUG_USART3_IRQHandler()
{
u8 RxData=0;
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
RxData = USART_ReceiveData(USART3);
uDatas.USART3_RX_BUF[uDatas.USART3_RX_STA]=RxData;
uDatas.USART3_RX_STA++;
uDatas.USART3_RX_STA &= 0x3F;
}
if(USART_GetFlagStatus(USART3,USART_FLAG_ORE) == RESET)
{
USART_ClearFlag(DEBUG_USART2,USART_FLAG_ORE);
}
}
接收示例
发送心跳
心跳返回数据:208-0-0-0
这个是通讯猫接收的数据
[20/7/24 16:08:17 518] MQTT[TOPIC:/njg/car]接收62字节: [20/7/24 16:08:17 550] {"macId":"CJXM19080001","message":{"w":1},"ty":0,"ot":3,"w":0}
这个是串口打印出来的信息,通讯猫是正常的
receive1接收:":3,"w":0}ar{"macId":"CJXM19080001","message":{"w":1},"ty":0,"ot-10-48
receive2接收:":3,"w":0}ar{"macId":"CJXM19080001","message":{"w":1},"ty":0,"ot-10-48
34-58-51-44
led1无数据
led2无数据
sg90无数据
l298n无数据
|