首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
catch2000
修改
文章:
87
阅读:
179242
评论:
367
赞:
1255
好友
私信
个人主页
文章
87
原创
0
阅读
179242
评论
367
赞
1255
原创
关于协议组帧的想法
2013-2-25 18:21
890
7
9
分类:
消费电子
之前在组帧时,是定义一个帧结构的结构体,然后在各个函数中,依次填充各个帧结构体中的元素(即帧中的各个field字段),填充完毕后,调用一个函数将帧结构体中的元素的值再依次写入帧缓冲区的内存中。
最近再次写一个协议的组帧函数,发现这样会造成多余的内存拷贝和内存访问,如果一开始就将数据写入帧缓冲区的内存中这样也避免了定义一个帧结构体的,省了一些内存。一举多得。
使用帧结构的结构体,并非不必要,而是在帧解析的时候,这个时候,将帧缓冲区的数据,一次写入帧结构体中,可以在使用时提取需要的数据。同时这个帧结构体中的数据,使用指针替代数组,这样减少内存的拷贝。提高程序的速度,同时减小程序使用的内存。
协议组帧
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
7
)
收藏
分享到:
上一篇:
函数指针使用的一点理解
下一篇:
ram, rom and flash
IIC Shenzhen - 2024国际集成电路展览会暨研讨会(深圳,11.5-6)
2024 AI& Connect 是德创新技术峰会(深圳,10.22)
第六届意法半导体工业峰会2024(深圳,10.29)
2024 Arm Tech Symposia 年度大会(上海/深圳,11月19/21日)
文章评论
(
2
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
1989tie_959541171
2013-2-28 19:09
谢谢你的建议。 关于这种方式,指针操作是要点,能够减少拷贝。 对于这种方式,要考虑结构体的字节对齐问题,如果考虑不到位,反而会出现难以调试的问题。这个在《字节对齐与内存访问》一文中,说明过一些Allen Zhang的评论更是将其细化。尤其是他的两篇博客,关于这个讲解的很好。 所以在文中建议,将成员使用指针,而不是结构体使用指针。
回复
用户1380059
2013-2-28 10:49
这是给你的参考,即可以在组帧时获得帧结构体的优点,也可以消除不必要的复制。 struct PACKET { }; void pack(void* bufffer,size_t buf_size) { assert(sizeof(struct PACKET) == buf_size); struct PACKET* packet = (struct PACKET*)buffer; // fill in member of packet }
回复
用户603060
2013-2-1 11:43
LED,激光什么的可行,白炽灯什么的,大家都懂的~
回复
用户1619720
2013-2-1 10:01
有点新意啊
回复
用户1625273
2013-1-9 19:12
想法很好。继续努力。
回复
用户1406868
2013-1-9 03:07
希望能把信息控制欲者淹没在无处不在的信息海洋里。
回复
查看更多评论
相关推荐阅读
catch2000
2015-07-19 11:44
信号线小电阻的作用
在一块新的PCB上,测试系统能否正常运行的时候,发现系统上电后没有正常启动。 系统框图如下: 在上电的时刻,CPU A(GPIO电平2.6V)会向串口发送启动日志数据,CPU A启动后,...
catch2000
2015-07-05 17:04
协议设计中ACK机制的影响
在TCP/IP中,延时ACK和Nagle算法。 TCP为了同时处理成块数据(通常为512字节的用户数据)和交互数据(通常用户数据比较少,例如不大于10个字节),采用了延时ACK和Nagle算法...
catch2000
2015-05-23 15:48
话说物联网操作系统
最近好多家都宣布推出自己的物联网操作系统。 1. Google将要在Google I/O大会发布的Brillo; 2. 三星推出的Artik芯片搭载Mentor Graphics的...
catch2000
2015-03-31 23:52
不要采用异或来交换两个变量
在进行两个变量的时候,经常会看到有些书误人子弟的推荐使用异或的方式: 方式一 { x = x ^ y; y = x ^ y; x = x ^ y; } 而不是...
catch2000
2014-10-09 07:28
为什么要测试先行
在产品的研发过程中,测试一项至关重要。不论是软件还是硬件。 软件的测试先行,在研发过程中,就做到质量的保证,因为在出现Bug的时候,容易定位Bug,而且即使是在客户端出现Bug,也能够...
catch2000
2014-10-09 07:26
C语言的面向对象编程(一)
一、前言 对于编程而言,重要的是解决问题的方式,而不是语言本身。面向对象与面向过程是解决问题和思考问题的方式。C语言常说是面向过程开发的语言,因为其缺少很多对于面向对象特性的支持。但,这并不影...
catch2000
修改
文章:
87
阅读:
179242
评论:
367
赞:
1255
好友
私信
个人主页
文章
87
原创
0
阅读
179242
评论
367
赞
1255
最新评论
更多
可以写一写技巧的东西,可能需要的人更多
curton
评论博文
2024-12-3
怎么才能做到,休息时间还能持续学习? ...
我还是比较支持技术人员当大领导的
curton
评论博文
2024-12-3
谈谈我从“技术”到“职能管理”再回到“技 ...
点赞,你的思考就是大家的思考。
curton
评论博文
2024-12-3
翻译了一篇文章,看看我们将如何应对人口下 ...
最新
博文
比较器检测模拟脉冲说明(四) ...
基于TRIZ理论探索消防机器人的创新之 ...
温度传感器精度的影响因素 ...
资料下载
本周热帖
24LC02芯片手册以及注意事项 ...
《高等代数自学教程》(下册,贺昌亭 ...
11-19学习笔记
SATA specification
ahci spec
【STM32F103C8T6教程】(二)STM32F10 ...
【原创奖励】TMS320F28335芯片的串行 ...
代码片段
聚焦 400G/800G 光通讯模块及其芯片、 ...
双束FIB-SEM系统在材料科学中的应用 ...
最新资讯
芯语最新
Intel新一代B系游戏显卡发布,还带AI ...
商务部:加强对美出口管制,涉及镓、 ...
四大行业协会齐发声明:国内企业谨慎 ...
无需电池?这种设备能让你随时随地监 ...
德国大众汽车关厂裁员并减薪,12万名 ...
电动车马上大涨价!谁赞成,谁反对? ...
今日新闻丨新款腾势D9谍照曝光,搭载 ...
美国对华芯片管制再升级,四大协会密 ...
给搞硬件芯片半导体的画个大饼 ...
重磅推出越野车直销平台,小牛电动开 ...
EE直播间
更多
无线前沿新技术与测试技术峰会-线上直播
直播时间: 12月05日 09:30
首场直播发布: Keysight AP5000 系列新型高性价比模拟信号源
直播时间: 12月06日 10:00
功率表的基础知识及其校准
直播时间: 12月10日 10:00
提升毫米波信号测试精度
直播时间: 12月18日 14:00
在线研讨会
更多
uModule DC/DC稳压器 - 减少热量、增加功率
ADAS系统中采用的MEMS时钟
PLL基础知识及其在时钟系统中的应用
PIC16F13145单片机可配置逻辑模块(CLB)概览
热门
推荐
【北京12.5号】无线前沿新技术与测试技术峰会
精密双向电流感应放大器设计方案
【有奖直播】提升毫米波信号测试精度
【有奖直播】无线前沿新技术与测试技术峰会
我要评论
2
7
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/2
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
1989tie_959541171 2013-2-28 19:09
用户1380059 2013-2-28 10:49
用户603060 2013-2-1 11:43
用户1619720 2013-2-1 10:01
用户1625273 2013-1-9 19:12
用户1406868 2013-1-9 03:07
希望能把信息控制欲者淹没在无处不在的信息海洋里。