经常会被一些网友问道,我xx岁了,还能转单片机开发吗?
单片机开发,说难也难,说简单也简单。难在它需要软硬件知识的结合,简单在只要你肯花时间,总能搞明白。
我也是属于非科班转行,不过我入行比较早,2011年毕业就转行了,当时也才20来岁。
28岁的话,要看之前的背景,学历,以及在哪个城市找工作。
如果之前是做相关行业,学历又不会太差,也在一线城市,还是挺有机会转行的。
刚开始自学时,看到那堆芯片和电路,还有密密麻麻的代码,也心有余悸。
现在回头看,其实也就那样,都是熟能生巧的活。
很多人觉得学单片机需要很强的编程和电路基础,其实不然,有C语言基础就够了,电路这块先熟悉常用的元器件原理和作用,以及一些常用的功能电路即可,比如单片机最小系统等等。
对于想入行的新人,我的建议是:买一个开发板,从点亮一个LED开始学起。不要怕犯错,每个错误都是学习的机会。
还有新手最烦就是看数据手册,很多都是英文的,而且专业术语一大堆。刚开始看的时候,也是一头雾水。但没办法,写程序要得先知道控制方式。
其实,完全不用一次性全看懂,先把需要用到的部分理解了,其它的用到再说。
还有配置寄存器的时候,也比较痛苦,总是记不住有哪些寄存器,哪个位该置1,哪个该置0。
后来慢慢摸索出了门道,先理解这个寄存器是干嘛用的,然后通过数据手册再去看每一位的含义,根本不用记。
随着经验的积累,你会发现单片机开发也挺有意思的,它让你能够直接控制硬件,看到代码如何影响现实世界。比如说,你第一次写了一段代码控制LED闪烁,当你看到灯真的亮起来的时候,那种成就感真的很爽。
工作一年左右,你应该已经能独立完成一些小项目了。这时候,最重要的是要学会设计整个系统。不要只关注某个小模块,要有全局观。考虑系统的稳定性、可靠性、可维护性,这些都是很重要的。
说到这里,不得不提一下调试的重要性,在单片机开发中,调试占据了大量的时间。
有时候,一个小bug可能会让你头疼好几天,我的建议是,学会使用调试工具,比如学会用ST-link之类的工具去调试程序。
还有一些调试设备,比如示波器、逻辑分析仪等,这些工具能让你事半功倍。
到了第四,五年,如果进展顺利,你应该已经能独立设计较为复杂的系统了。这时候,一定要有框架的概念,不要重复去造轮子。
我也是工作了6,7年左右才开始重视的,因为之前每个新项目都重新做,累得慌,很多功能,把架构做好,都是可以重复的使用的。
我在2018年也录了一套关于程序架构的教程,要参考的可以找我安排。
最后说下,单片机开发的职业前景如何?我的看法是,只要有硬件存在,就会有单片机的需求。虽然可能不像互联网那样热门,但也绝不会没落。而且,随着物联网的发展,单片机的应用只会越来越广泛。
想学单片机的小伙伴,又不知道怎么学的,可以看我下面这篇文章:
单片机怎么学?保姆级学习路线(附教程+工具)https://blog.csdn.net/2401_86645590/article/details/141437874