打印

这种"[独特]的“接收方式”好么?

[复制链接]
1465|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xlsbz|  楼主 | 2009-12-12 10:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xlsbz 于 2009-12-12 12:48 编辑



下面这段摘自别处
https://bbs.21ic.com/viewthread.php?tid=40962&highlight=%E4%B8%B2%E5%8F%A3
*************************************************
其实很多时候,对于通讯传输的数据处理才是关键,尤其对于设计通讯协议而言。笔者在刚刚做的一个系统上就碰到这样的问题,当系统庞大了,资源十分有限的情况下,数据处理一旦占用资源太多,效率太低将导致系统崩溃而无法运行。
到了这里,很多工程师可能会考虑开个大的缓冲区FIFO将接收到的数据保存在缓冲区,然后对其进行解析、判断进行下一步程序编写,当然这在系统资源比较丰富的情况下是没有问题的,ARM上采取的就是这样的方式。但如何系统庞大呢,留给的资源缺乏则不行。这样做的一个很大缺点必须是将数据帧接收完了才能够判断,降低了效率和运行速度。
其实还有另外的方式,可以采取在每接收一个字节就对其解析,解析完判断转到下一个状态,并将其中的有用数据存储在相应的数据结构中去,可以采取状态机实现


*************************************************




这段意思是不是这样:以为先判断后接收效率高、省资源。 先接收后判断就“降低了效率和运行速度”。

我就没有看出到底哪里省资源了?
效率怎么就高了?

谁能指点一下?多谢!



沙发
chen3bing| | 2009-12-12 11:57 | 只看该作者
感觉那样只是占用RAM多。

使用特权

评论回复
板凳
zyok| | 2009-12-12 12:01 | 只看该作者
逐步解析省点ram..

使用特权

评论回复
地板
xlsbz|  楼主 | 2009-12-12 12:39 | 只看该作者
本帖最后由 xlsbz 于 2009-12-12 12:42 编辑
逐步解析省点ram..
zyok 发表于 2009-12-12 12:01


先接收再判断 也不费ram 啊! 都一样的!

现在不是都时髦弄结构体么!  可以弄个结构体,然后直接把收到的东西放到结构体里。

使用特权

评论回复
5
xlsbz|  楼主 | 2009-12-12 12:53 | 只看该作者
人都哪去了?周六大家都休息了?
嗨! 我也休息会..............................

使用特权

评论回复
6
ejack| | 2009-12-12 14:21 | 只看该作者
人家没说得那么绝对,仅仅是指全接收这种方式相对而言费RAM、延时略长。
举个例子,某通讯协议约定一帧包含64个字节,其中前16字节为控制字段,后48字节为数据块。如果全部接收则占用64字节,并且是在接收完64字节之后才开始进行解析工作。
作者的意见是边接收边解析,控制字段部分直接解析为工作状态,只有数据块才存储。

使用特权

评论回复
7
xlsbz|  楼主 | 2009-12-12 18:58 | 只看该作者
多谢6楼!

恩 那样的话,确实是省ram了!!
不过!那肯定是省ram  ,却费时间了!

就是说用时间换空间

使用特权

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

本版积分规则

190

主题

1614

帖子

4

粉丝