
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
先说最基本的东西。环形缓冲区本质上就是一个定长数组,加上两个索引——head(写指针)和 tail(读指针)。写数据时 head 往前走,读数据时 tail 往前走。关键在于:走到数组末尾时,绕回开头。这就是"环"的由来。上图画的不太对,应该是head在前,tail在后,先写后读。和普通队列比,环形缓冲区最大的好处是不需要搬移数据。普通数组队列读完前面的数据后,要么整体前移,要么浪费空间。环形缓冲
"结构体一律传指针"是一个流传很广的经验,但经验不等于教条。嵌入式开发里,栈空间可能只有几百字节,CPU 周期要精打细算,代码可能跑在中断上下文里——这些约束决定了不能无脑套用桌面开发的习惯。建议很简单:小结构体传值,大结构体传指针,只读加 const,需要改就用指针。适合你项目的,就是对的。
本文介绍了一种轻量级的多任务处理方法,适用于资源有限的嵌入式系统。针对不使用RTOS时面临的任务调度问题,提出了三种解决方案: 时间片轮询法:通过记录任务上次执行时间,实现周期性任务调度,确保各任务按设定间隔执行。 任务表驱动:将任务统一管理为数组形式,便于维护和扩展,增删任务只需修改任务表。 状态机编程:将耗时任务分解为多个状态,每次只执行一小步,避免阻塞其他任务。 此外还建议采用"中
结构体不仅仅是数据的集合,更是内存布局的蓝图和软件架构的基石。掌握这些技巧,你的嵌入式代码将更加优雅高效。
结构体不仅仅是数据的集合,更是内存布局的蓝图和软件架构的基石。掌握这些技巧,你的嵌入式代码将更加优雅高效。
本文介绍了一种轻量级的多任务处理方法,适用于资源有限的嵌入式系统。针对不使用RTOS时面临的任务调度问题,提出了三种解决方案: 时间片轮询法:通过记录任务上次执行时间,实现周期性任务调度,确保各任务按设定间隔执行。 任务表驱动:将任务统一管理为数组形式,便于维护和扩展,增删任务只需修改任务表。 状态机编程:将耗时任务分解为多个状态,每次只执行一小步,避免阻塞其他任务。 此外还建议采用"中
先说最基本的东西。环形缓冲区本质上就是一个定长数组,加上两个索引——head(写指针)和 tail(读指针)。写数据时 head 往前走,读数据时 tail 往前走。关键在于:走到数组末尾时,绕回开头。这就是"环"的由来。上图画的不太对,应该是head在前,tail在后,先写后读。和普通队列比,环形缓冲区最大的好处是不需要搬移数据。普通数组队列读完前面的数据后,要么整体前移,要么浪费空间。环形缓冲
作者简介2021应届本二,目前年薪20,在某行业头部大厂从事嵌入式多媒体开发(音视频应用方向)。由于没有耀眼的学历,学习的资料和企业实际应用有些偏差,2020年大三时秋招处处碰壁,当时最高只有10k,于是抛开薪资选择了一个自认为不错的方向进行实习。努力终有回报,实习半年,......







