打印

串口协议帧设计

[复制链接]
2300|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
victor3l|  楼主 | 2013-9-24 19:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我要实现这样的功能:
上位机每帧给STM32的串口发送1-2K的数据,STM32收到数据把它们写到NANDFLASH中。平时做的时候都是按字节来的,发送几个字节。这里每次要发这么多是不是申请一个大数组,作为缓存,还是一字节一字节的发送啊?老大要求设计一个协议,怎么做啊,没有一点头绪。请大神救我。

相关帖子

沙发
罗菜鸟| | 2013-9-26 10:26 | 只看该作者
串口只能用一个字节一个字节的发送,建一个状态机,控制帧头,帧长度,帧载荷,帧尾。

使用特权

评论回复
板凳
chunyang| | 2013-9-26 18:56 | 只看该作者
当然还是逐字节收发,这里要考量的是串口通讯速率与FLASH写入速率的关系,如果串口速率低,那收一个写一个就可以了。如果串口速率高,那么就需要缓存,片内资源不够就要扩充片外资源。
至于协议问题与此无关,协议要考虑的是差错控制及应答控制,以便知道数据是否准确且完整的被接收。合理的通讯协议要考虑应用场合,电磁环境很干净的地方,就楼主的应用而言,根本无所谓协议,直接发都可以,但干扰严重的话就另论了。

使用特权

评论回复
地板
make8419247| | 2013-10-6 10:52 | 只看该作者
可以参考MODBUS

使用特权

评论回复
5
dictionary| | 2013-10-8 14:05 | 只看该作者
发送数据量少,被干扰可能性小,一次性发送几K数据,只要有一个数据错了,就要重新发送了,看使用环境吧!

使用特权

评论回复
6
15201995539| | 2013-10-13 22:22 | 只看该作者
学习了

使用特权

评论回复
7
15201995539| | 2013-10-13 22:23 | 只看该作者
学习了

使用特权

评论回复
8
15201995539| | 2013-10-13 22:23 | 只看该作者
学习了,谢谢各位

使用特权

评论回复
9
15201995539| | 2013-10-13 22:24 | 只看该作者
可以参考MODBUS RTU模式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

308

帖子

5

粉丝