历史上的今天
今天是:2025年12月16日(星期二)
2022年12月16日 | 想从事单片机工作,C语言要达到什么水平?
2022-12-16 来源:zhihu
今天我来聊聊从事单片机开发工作,C语言要达到什么样的水平。
我用自己从入门到找到工作的经历来说或许更贴切点。
我是2011年毕业,非本专业,读的是电气工程,看到师兄那苦逼样决定转行。
实习期比较自由,我就开始自学,从入门到转行成功,前后花了4个月左右。
刚开始,我也很焦虑….
自己能不能学得会?学到什么程度能去找工作?
万一花了几个月时间学习,找不到工作怎么办?
过程虽然很曲折,不过最终还是转行成功了,还记录当时学习的一些笔记。

只要你肯坚持下去,有兵来将挡,水来土掩的魄力,结果都不会太差。
最怕就是你碰到问题就退缩,就质疑,这样还不如别开始。
我是从51单片机开始学习的,在某宝上买了一块51单片机开发板。
开发板一般都有配套视频教程,跟着教程一步步走就可以。
我是基础电路、C语言、51单片机一起学得,一边学一边在开发板上看功能效果。
技术学习过程太枯燥了,如果得不到及时的成果反馈,很难坚持下去。
我建议大家也一定要这样去学习。
学完开发板的所有内容,每天坚持学几个小时,大概需要1个多月的时间。
这个时候你会碰到一个瓶颈期,就是单片机每个外设资源都会用了,但是还是无法独立完成一个项目的代码。
这是正常的,因为开发板的定位是让你学习单片机这个工具怎么用而已。
那个时候我只是把开发板都学完了,然后在开发板上做了电子时钟的功能就去找工作了。
前前后后差不多给20家公司拒绝过,那年找工作都是到人才市场,当场面试的。
他们主要拒绝我的还是没有项目经验,其次就是学历、非本专业。
后面,我又在某宝上买了智能小车的套件,自己组装把这个项目重头到位做了一遍。
明显感觉自己的能力提升了,比如说实现功能的思路,和编程水平。
最重要的是多了一个可以吹的项目。
后面再去面试,总共面试了5家公司都不到就成功了。
但是我的经历放在现在,可能比较难。
主要现在优秀的学生太多了,我们无际单片机编程挺多学员都是大学生,最小的大一都有。
大一就有学习的意识,如果你的知识水平还保留10年前的,肯定不行。
单片机开发这个职位,不是说非要你c语言达到一个高级的水平,一般你能修改别人的代码也可以。
刚进去公司也不会让你马上研发新项目,而是维护老项目,改改代码升级功能。
所以,我认为啊,你c语言水平能达到改别人代码水平,暂时也就够了。
主要还是要多做项目,做它3-5个项目,把单片机常用的外设都能应用到实际场景了,一般的产品你也能独立做出来了。
光靠书本和教程的内容,你c语言的水平想提升到高级是很难的。
我是怎么提升的?
从工作中,多看老工程师写的代码,多看一些权威的固件库、协议栈。
前期先模仿他们的写法,比如说他们的按键检测功能怎么写,LCD菜单怎么写。
模仿的时候,思考一下他们这样写有什么优势,有什么不好的地方?
从实际项目中来,到实际项目中去,反复实践。
慢慢地,你对编程的思维和经验都会有一个质的飞越。
我也是这样过来的,自己在19年还录制了一个程序架构的视频,算是对自己的一个总结。
这个架构可以直接移植到产品使用,继承了很多常用的功能,比如说任务管理,队列、LED特效、按键检测。

目前也是开源,找无际单片机编程拿就行,全网同名的。
到某个阶段,你或许就能感悟,任何编程语言都是工具而已。
最核心的还是去实现某种功能的思维是否最优。
上一篇:我是怎么提高单片机编程能力的?
下一篇:初学者想自学单片机需要买什么呢?
史海拾趣
|
請問各位大俠,每次下載附加收費是多少哦? 我下載了一個有10個附件的東東,上面講每次下載收費2新幣, 實際下載時扣除的是6新幣,算下來10個下載后多扣除了40幣。 歡迎大家一起討論。… 查看全部问答> |
|
核心板是在gooolgman处购得,仅上过一次点,读ID,由于导师项目临时有变,所以出掉,回收资金,继续开发!光盘资料齐全,将刻录成DVD随核心板发送。也可以提供其他6410开发板的光盘资料,详请联系。 本人平时较忙,所以若不在线请手机短信联系:13 ...… 查看全部问答> |
|
请教:板子为ARM2410,在wince下,我的应用程序一打开串口2,串口1上就会有打印信息 Data Abort: Thread=8fadf914 Proc=8e028d08 \'device.exe\' AKY=00001009 PC=024d2a30 RA=03f87e64 BVA=08000000 FSR=00000007 而且串口2不能收发数据,请问 ...… 查看全部问答> |
|
我自己写的驱动 就入口代码 怎么会慢慢死机呢? 还有 有个软件 VStart这个软件会死掉。是不是这个软件和我驱动有冲突啊? 驱动、代码 DispatchCreateClose proc pDeviceObject:PDEVICE_O ...… 查看全部问答> |
|
Windows硬件工程大会七折票价倒计时!通过eeworld购票可获赠全年12期程序员杂志,如此优惠,不要错过! “Windows 硬件工程大会”是微软公司面向个人电脑终端、服务器、硬件设备以及驱动程序的最具前瞻性的全球硬件技术信息盛会,在北美地区已成功举办16届,今年是首次在中国独立举办。因此,此次大会将是一场极具营养的大会。 WinHEC 会上将前瞻性全 ...… 查看全部问答> |
|
自己仿东山大哥的LCD程序,做了一个LCD显示图片的程序 主要显示程序如下 void Test_Lcd_Tft_16Bit_240320(void) { printf(\"[TFT 64K COLOR(16bpp) LCD TEST]\\n\"); Paint_Bmp(flower); getc(); ...… 查看全部问答> |




