起点:Hello World和点亮一个LED

刚上大学时我就意识到:工程类专业,光靠课本是不够的。身边有不少学长学姐都在参加竞赛和实验室项目,我也开始主动接触更底层的知识。最早的学习几乎都是从最简单的C语言语法开始,一点点看懂for循环、指针、数组,再去理解单片机如何通过寄存器控制外设。

我参加了学校组织的蓝桥杯单片机竞赛培训,在一块51单片机开发板上写点灯、按键检测、数码管显示。记得最清楚的是,那时候调一个流水灯花了我将近一周时间,只因为我没搞懂定时器溢出的时间计算公式。那几天几乎每天都在实验室熬到晚上十点,调程序、查资料、问学长……虽然很辛苦,但每当灯光按预期亮起的时候,我都觉得一切值得。

成长:蓝桥杯→嵌入式竞赛,扎根底层开发

蓝桥杯之后,我开始参加更复杂的嵌入式系统比赛,比如“TI杯”、“互联网+”赛题项目,这些比赛要求选手搭建完整的嵌入式系统——从底层驱动到应用逻辑、从硬件电路到软件编程,真正锻炼了我系统设计和工程实现能力。

我也逐步从8位单片机转向32位MCU,最常用的就是STM32。最开始用STM32点亮LED花了整整一周,因为要搞懂GPIO配置、中断使能、定时器配置,甚至连HAL_GPIO_WritePin()函数的底层原理我都反复去看。之后慢慢学会用CubeMX自动生成初始化代码,用Keil搭建工程,做出完整的温湿度监测、OLED数据显示、UART通信等小项目。

跨越:从STM32到Linux开发板,眼界再提升

到大三下学期,我开始接触Linux开发板。相比STM32裸机开发,Linux系统让嵌入式开发变得更加系统化、复杂化,但也更接近企业实际应用。GPIO控制从直接寄存器改为文件系统操作,串口调试从USART切换到/dev/ttyS*,再到Makefile、交叉编译、驱动模块加载、网络通信、QT图形界面开发,一切都更像是在搭建一个小型的操作系统生态。

每一次遇到困难,我都告诉自己:这不就是最开始点灯的延续吗?只是灯不再是GPIO控制,而是系统理解的“灯”、思维架构的“灯”。

展望:我始终相信,基础会指引我走得更远

嵌入式的学习从来不是一蹴而就的,它不像高层语言那样拥有丰富的库和工具,更多的是对底层硬件的精细掌握和对系统原理的深入理解。正因为如此,我对它有一种敬畏,也有一种执着。

从点亮一盏灯开始,我开始了这条嵌入式的路。一路走来,有过迷茫,也有过放弃的念头,但每次当一个模块调试成功、一个项目运行顺畅时,那种成就感足以驱散一切疲惫。

我相信,这段从0到1的积累,会成为我今后职业生涯中最坚实的根基。我不会忘记:我,是从那盏灯开始的。

#牛友故事会#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务