首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
catch2000
修改
文章:
87
阅读:
180813
评论:
367
赞:
1258
好友
私信
个人主页
文章
87
原创
0
阅读
180813
评论
367
赞
1258
原创
关于协议组帧的想法
2013-2-25 18:21
902
7
9
分类:
消费电子
之前在组帧时,是定义一个帧结构的结构体,然后在各个函数中,依次填充各个帧结构体中的元素(即帧中的各个field字段),填充完毕后,调用一个函数将帧结构体中的元素的值再依次写入帧缓冲区的内存中。
最近再次写一个协议的组帧函数,发现这样会造成多余的内存拷贝和内存访问,如果一开始就将数据写入帧缓冲区的内存中这样也避免了定义一个帧结构体的,省了一些内存。一举多得。
使用帧结构的结构体,并非不必要,而是在帧解析的时候,这个时候,将帧缓冲区的数据,一次写入帧结构体中,可以在使用时提取需要的数据。同时这个帧结构体中的数据,使用指针替代数组,这样减少内存的拷贝。提高程序的速度,同时减小程序使用的内存。
协议组帧
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
7
)
收藏
分享到:
上一篇:
函数指针使用的一点理解
下一篇:
ram, rom and flash
PARTNER CONTENT
换一换>
更多>
新蓝牙6.0协议扩展应用范围
Silicon Labs(芯科科技)蓝牙产品经理Parker Dorris
2024-12-16
概伦电子:以开放心态共绘EDA产业新蓝图
概伦电子
2024-12-30
SK海力士开发出适用于AI数据中心的高容量固态硬盘‘PS1012 U.2’
SK海力士
2024-12-18
SK海力士将在CES2025亮相‘全方位面向AI的存储器供应商’的新蓝图
SK海力士
2025-01-03
新一代MCU向着边缘AI和实时控制发展
赵明灿
2024-12-11
文章评论
(
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
阅读:
180813
评论:
367
赞:
1258
好友
私信
个人主页
文章
87
原创
0
阅读
180813
评论
367
赞
1258
最新评论
更多
写的好,学习和参考,很适用
开发工匠 ...
评论博文
2025-1-8
氢能源燃料电池车氢气泄漏检测与残氢排放监 ...
如果Flash是空的,需要用仿真器加CW。仿真器很贵且只能用于特定CPU,正版CW软件也很贵且操作复杂。 这类仿真器操作都比较麻烦 ...
xxdg
评论博文
2025-1-7
也许是PowerPC最佳的调试器--BDI2000 ...
写的好,学习和参考
开发工匠 ...
评论博文
2025-1-6
软硬件推波助澜,其效能对影像质量的考验又 ...
最新
博文
鸿海2024年营收1.53万亿元,AI成关键 ...
重磅并购!家电巨头收购“准IPO”企业 ...
高频高密度趋势下磁芯材料评价指标探 ...
资料下载
本周热帖
Processing-processing3.5.4
ESP32TFT常用字体库.zip
自动增益控制放大器设计与实现 ...
无线传能充电器设计与实现论文 ...
基于单片机自动电阻测试仪设计论文 ...
《极简图解 半导体技术基本原理》+半 ...
浪拓电子小课堂:TVS与TSS的工作原理 ...
电气安全测试项目详解
聚焦离子束(FIB)在加工硅材料的应用 ...
锡须生长现象
最新资讯
芯语最新
虚拟天线技术:物联网天线设计的不同 ...
美国亚利桑那州成为第三个芯片研发旗 ...
提升亮度和寿命期!LG Display将在广 ...
瑞萨电子被曝计划在全球裁员数百人 ...
传Imagination停止RISC-V处理器核心开 ...
我们常说的CRC校验,它的实现原理是原 ...
突发!芯片巨头大裁员!暂停加薪! ...
奥康皮鞋终止收购芯片公司! ...
三星利润暴跌!
10亿美元不够!印尼继续禁售苹果 ...
EE直播间
更多
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
在线研讨会
更多
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
构建AI未来,Arm计算平台无处不在
如何提升高压系统的实时性能?
如何增强电动汽车的实时控制能力?
如何增强能源基础设施的实时控制?
我要评论
2
7
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/3
工程师写总结,送示波器、稳压电源、螺丝刀!
分享你的:职业生涯中故事、2024年年终总结、工作中的小故事,丰富多样的礼品等你哦!
面包板社区有奖活动汇总楼
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
希望能把信息控制欲者淹没在无处不在的信息海洋里。