想从事单片机工作,C语言要达到什么水平?

大家好,我是无际,最近这个号恢复更新了…

 

今天我来聊聊从事单片机开发工作,C语言要达到什么样的水平。

 

我用自己从入门到找到工作的经历来说或许更贴切点。

 

我是2011年毕业,非本专业,读的是电气工程,看到师兄那苦逼样决定转行。

 

实习期比较自由,我就开始自学,从入门到转行成功,前后花了4个月左右。

 

刚开始,我也很焦虑….

 

自己能不能学得会?学到什么程度能去找工作?

 

万一花了几个月时间学习,找不到工作怎么办?

 

过程虽然很曲折,不过最终还是转行成功了,还记录当时学习的一些笔记。

 

 

只要你肯坚持下去,有兵来将挡,水来土掩的魄力,结果都不会太差

 

最怕就是你碰到问题就退缩,就质疑,这样还不如别开始。

 

我是从51单片机开始学习的,在某宝上买了一块51单片机开发板。

 

开发板一般都有配套视频教程,跟着教程一步步走就可以。

 

我是基础电路、C语言、51单片机一起学得,一边学一边在开发板上看功能效果。

 

技术学习过程太枯燥了,如果得不到及时的成果反馈,很难坚持下去。

 

我建议大家也一定要这样去学习。

 

学完开发板的所有内容,每天坚持学几个小时,大概需要1个多月的时间。

 

这个时候你会碰到一个瓶颈期,就是单片机每个外设资源都会用了,但是还是无法独立完成一个项目的代码。

 

这是正常的,因为开发板的定位是让你学习单片机这个工具怎么用而已。

 

那个时候我只是把开发板都学完了,然后在开发板上做了电子时钟的功能就去找工作了。

 

前前后后差不多给20家公司拒绝过,那年找工作都是到人才市场,当场面试的。

 

他们主要拒绝我的还是没有项目经验,其次就是学历、非本专业。

 

后面,我又在某宝上买了智能小车的套件,自己组装把这个项目重头到位做了一遍。

 

明显感觉自己的能力提升了,比如说实现功能的思路,和编程水平。

 

最重要的是多了一个可以吹的项目。

 

后面再去面试,总共面试了5家公司都不到就成功了。

 

但是我的经历放在现在,可能比较难。

 

主要现在优秀的学生太多了,我们无际单片机编程挺多学员都是大学生,最小的大一都有。

 

大一就有学习的意识,如果你的知识水平还保留10年前的,肯定不行。

 

单片机开发这个职位,不是说非要你c语言达到一个高级的水平,一般你能修改别人的代码也可以。

 

刚进去公司也不会让你马上研发新项目,而是维护老项目,改改代码升级功能。

 

所以,我认为啊,你c语言水平能达到改别人代码水平,暂时也就够了。

 

主要还是要多做项目,做它3-5个项目,把单片机常用的外设都能应用到实际场景了,一般的产品你也能独立做出来了。

 

光靠书本和教程的内容,你c语言的水平想提升到高级是很难的。

 

我是怎么提升的?

 

从工作中,多看老工程师写的代码,多看一些权威的固件库、协议栈。

 

前期先模仿他们的写法,比如说他们的按键检测功能怎么写,LCD菜单怎么写。

 

模仿的时候,思考一下他们这样写有什么优势,有什么不好的地方?

 

从实际项目中来,到实际项目中去,反复实践。

 

慢慢地,你对编程的思维和经验都会有一个质的飞越。

 

我也是这样过来的,自己在19年还录制了一个程序架构的视频,算是对自己的一个总结。

 

这个架构可以直接移植到产品使用,继承了很多常用的功能,比如说任务管理,队列、LED特效、按键检测。

 

目前也是开源,找无际单片机编程拿就行,全网同名的。

 

到某个阶段,你或许就能感悟,任何编程语言都是工具而已。

 

最核心的还是去实现某种功能的思维是否最优。

 

给TA买糖
共{{data.count}}人
人已赞赏
单片机百科

弱弱问一句:初学者想自学单片机需要买什么呢?

2022-2-24 21:38:45

单片机百科

我是怎么提高单片机编程能力的?

2022-2-26 16:52:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧