迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1515|回复: 0

T5屏如何实现超长数据接收和多指令处理

[复制链接]

624

主题

181

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
14686
发表于 2019-7-3 19:21:57 | 显示全部楼层 |阅读模式
     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字节的超长数据包,再根据顺序检测方式来查找多条的完整单一帧数据,这样可将超长多指令数据转换为多个单帧数据处理。并循环使用串口缓冲区来实现更多数据接收而不丢失,以此实现复杂的数据通信。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-1-13 20:45 , Processed in 0.023817 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表