般知道单片机的,都是对单片机有兴趣的,想做一些很酷的智能控制产品。
或者觉得单片机的就业前景好,这个技术也不会过时的。
小孩子才做选择,成年人全部都要。
我就是兴趣入行,然后做了几年感觉这个行业前景越来越好。
原来我以为单片机开发是传统行业,后来结合了互联网,把硬件连上网,感觉能做的功能更加强大了。
一、一个合格的单片机工程师需要掌握什么知识?
1.C语言。
C语言是单片机程序开发的工具,必须要掌握。
基本语法,指针,结构体,枚举,回调函数等 都是需要完全掌握,并可以灵活使用。
2.掌握单片机硬件接口的驱动
大家可以灵活的使用单片机的GPIO,串口,定时器,SPI,IIC等,这些都是基础。
大家还可以简单的分析一些单片机内部的寄存器,知道如何阅读单片机的规格书,有查找问题,处理难题的能力
3.单片机程序框架
实际项目的程序开发和单片机的培训或者教程里面的东西是不一样的。
教程只是为了给大家演示某种特定功能,实现特定的效果,根本不会考虑程序的运行稳定性和效率。
如何提高程序代码的质量,这个对一个产品的稳定性,可靠性是非常重要的。
一个好的程序框架可以大大提高产品稳定性,在单片机资源比较丰富上,可以移植类似freeRtos的小系统,freeRtos即是一个优秀的程序框架。
但像51单片机、或资源更加溃泛的单片机,就不需要考虑到架构上的东西。
4.硬件基础
只做单片机程序软件开发,只要掌握C语言是可以了,但是单片机毕竟是需要和硬件结合才能实现一定功能的,所以我们还需要掌握一些比较基础的电路基础。
至少要能看懂单片机周边的原理图设计,例如蜂鸣器,LED, 按键,串口等。
其次还可以掌握一些软件调试,硬件调试相关的技巧。
如果你想成为一个全栈的硬软件工程师,还需要更深入学习电路设计,线路板的设计,PCB的绘制,硬件的焊接和调试等。
做一个全栈的工程师,硬件,软件开发自己都需要掌握,也不是特别的难,主要是在工作中去沉淀产品经验,多分析电路,多调试,提升是很快的。
二、单片机编程培训哪里有?
下面再来聊聊培训的事。
其实我个人是非常支持知识付费的,选到靠谱的确实能大大节约学习的时间。
单片机这块的培训大家在网上都可以搜到很多,有几家比较大的。
一般的培训机构,我碰到过几个被坑的。
有过类似经历的同学都知道,培训结构传授给大家的就只是C语言基础和单片机的硬件驱动等一些非常基础的课程。
说实话这种买一个开发板按照开发板配套教程完全能够自学会,没必要花几千上万去参加培训。
这种培训和实际的单片机的就业还是有一定的差距的。
一般企业招的,都是需要有实战经验,可以做项目的工程师。
相信很多同学都买过开发板,看过开发板的教程。
但是学完之后还是感觉空空的,不知道怎么去做项目,或者拿到项目,就不知道如何下手。
这是大多数自学者的”通病”。
所以我觉得培训的意义在于解决你的底层需求。
也就是你培训完以后会自己做项目了,能胜任实际产品开发了,这样你公司才会招你。
这也是我们无际单片机编程当初以实战项目为培训导向目的。
学员第一次就通过项目去学习目标也很明确,独立做出项目即毕业。
当然做项目的过程也是很痛苦很烧脑的,但没办法,迟早都要经历这一步,熬过去了你就会有质的提升。