“90%”的单片机开发者,都忽略了数据结构的重要性

面包板社区 2025-07-03 15:13

图片

在单片机和嵌入式的相关开发的工作中,数据结构到底重要不重要呢

我认为这很重要。

这里举个例子,在嵌入式系统中,我们经常会处理传感器或者一些设备上的数据,比如ADC,加速度传感器/陀螺仪传感器,或者记录数据的设备。

通常我们可以通过UARTI2CSPI等接口将数据读取到单片机内部。很多情况下,数据的更新频率很高,往往是微妙级别,或者是毫秒级别的。

这时候,我们就要将这些数据保存到数据结构中,如何高效的读写数据是一个问题,而在C语言中已经有相应的机制来保存数据。

比如C语言中常用的数组结构体联合体都是一种数据结构,再复杂一点的像队列堆栈链表二叉树等等。

在何种情况下使用何种数据结构?这是个问题。

并且在一些开源项目的源码里,数据结构是很常见的,下面是FreeRTOS源码里的链表初始化的函数:

链表

如何能掌握数据结构,能够轻松地读懂这些代码,这也是一个问题。

我以前是电子相关专业的,当初的数据结构是自学的,自认为也是半桶睡,因为当初学完C语言之后,并没有开设数据结构这门课程,大部分情况都是自己看视频,然后敲代码练习,才学会的。

数据结构比较抽象,所以,我们在写代码的时候会拿一支笔,画一下具体的实现过程,理清思路,然后再配合代码练习,就会好很多。

这里推荐一下郝斌老师的数据结构视频,感觉挺好,不妨试试。

数据结构

因为数据结构在应用的时候,要基于某种语言去实现,比如C语言,所以我们C语言就要掌握的比较扎实,如果感觉哪个知识点掌握不到位,就要查漏补缺,重点练习。

下面推荐一个学习网站,我感觉挺不错的:https://visualgo.net/zh

这里有基本的一些数据结构的可视化练习,具体如下所示;


位操作
排序
链表


合作/推广/投稿/宣传/招聘 请加微信:15889572951



声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
单片机
more
不会写单片机不会画电路板?做完这个四轴飞行器,我把STM32和PCB全搞懂了!
一个初学单片机入门的苦恼与心路
又一起单片机死机案例!
【有奖评测 】最强Cortex-M85单片机!RA8D1套件(显示屏+摄像头)免费评测
单片机项目如何添加版本信息?
单片机软件为啥要上架构?
如何将单片机变量“钉”在Standby RAM中?
同样的单片机代码,编译后的hex为啥会变?
当单片机遇见Zephyr,打通嵌入式开发任督二脉!
单片机虚拟EEPROM模块的应用
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号