初级会员

- 积分
- 98
- 金钱
- 98
- 注册时间
- 2018-8-21
- 在线时间
- 10 小时
|
1金钱
中断部分代码如下:
void USART1_IRQHandler(void)
{
u8 tem;
if(USART_GetITStatus(USART1,USART_IT_IDLE)!= RESET)
{
tem=USART1->SR;
tem=USART1->DR;
tem=tem;
uart1_set_event(E_uart_idle);
serial_rx_buffer1_head = RX_BUFFER1_SIZE - USART1_RX_DMA_CHANNEL->CNDTR;
serial_Outtime1 = 0;
USART_ClearITPendingBit(USART1, USART_IT_IDLE);
}
if(USART_GetITStatus(USART1,USART_IT_TC)!= RESET)
{
USART_ClearITPendingBit(USART1, USART_IT_TC);
DMA_Cmd(USART1_TX_DMA_CHANNEL, DISABLE);
USART1_TX_DMA_CHANNEL->CNDTR=0;
uart1_set_event(E_uart_tc);
}
}
如果是有固定帧头帧尾,接收到的数据被DMA搬运到变量serial_rx_buffer1中,解析时只需找到帧头帧尾,就可得到完整的一帧数据。MQTT数据包中没有固定帧头帧尾,该如何解析?
|
|