首页 > 编程知识 正文

串口中断接收数据处理,stm32串口数据保存

时间:2023-05-05 22:23:57 阅读:138756 作者:2792

STM32串口接收数据处理方法STM32串口接收定长数据处理方法STM32串口接收定长数据的处理方法非常简单,我现在做项目就是用这个,处理MODBUS协议直接编码

voidusarT1_IRQHandler(void ) /串行1中断服务程序({u8 Res; usart _ get it status (usar t1,USART_IT_RXNE )!=RESET接收中断{ usart _ clearitpendingbit (usar t1,USART_IT_RXNE ); //清除中断RES=usart_receivedata(usart1 ); //接收到的数据switch(usartrecein ) case0:if () RES==SW _ id|(RES==255 ) ) usartrecebuff [ usartrecein ]=reeee 布雷克; default : usartrecebuff [ usartrecein ]=RES; 布雷克; (if ) usartrecein=8) {USARTReceFullFlag=1; }}要执行逻辑理解解释,首先定义全局变量的接收完成标志位USARTReceFullFlag。 如果接收数据长度需要为8,则在串行中断中接收数据长度=8时,也可以将该标志位置设为1,通过串行中断函数判断接收数据头。

之后,在其他地方执行时,直接判断标志位,进行处理相关的内容。 注意:需要清除标志位和接收序列。

usartrecefullflag (if ) if () usartrecebuff[2]==0x01 ) USARTReceBuff[6]==0xcc ) usartrecebuff [7]==0x DD } usarece USARTReceIn=0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。