|
T5屏实现超长数据接收和多指令处理,这里用DWIN OS来写的。
T5屏常用UART2进行82、83指令数据收发,也可用其他串口来实现自定义协议的通信和解析,当很多帧数据作为一包数据一次性下发给屏时,此时总的一包数据存在较大概率会超过串口缓冲区,如不进行处理,则前面的数据会被后面数据进行覆盖,导致数据丢失。 附件代码程序可实现对超大数据包(超过256字节的超长数据(目前最大可以1000字节))的接收处理,和多帧数据一次性发送处理,具体见程序注释说明。
1、基础单帧短数据接收和处理反馈 程序UART_CRC 为实现基本单帧82、83指令接收和处理,通过255可配置是否需要CRC校验,通过左侧的宏定义,可根据需要修改为UART3、4、5、(6、7未写)配置,帧头也可根据需要进行修改。通过附件参考程序可以初步了解代码实现数据收发基本处理流程,和实现简单通信协议收发代码需求。
2、超过串口FIFO长的超长数据接收及多帧指令数据的处理 UART-多指令是在UART_CRC基础上进行拓展,对已经缓存到串口FIFO里的数据每超过200字节便取出存放到自定义缓冲区,然后通过继续接收的方式,循环使用串口FIFO来接收超过255字节的超长数据包,再根据顺序检测方式来查找多条的完整单一帧数据,这样可将超长多指令数据转换为多个单帧数据处理。并循环使用串口缓冲区来实现更多数据接收而不丢失,以此实现复杂的数据通信。
|