这已经是11年前的事了,我就学了STC89C52这个单片机,然后做了2个项目。 一个是 电子时钟,一个是智能小车,从学习到找到工作花了大概4个月左右。 现在这么卷,如果你只会51单片机的话,估计比较难了,除非你用51单片机做过3-4个项目,或者做过一些soc开发。 51单片机其实也有很多复杂的,比如说TI的CC2540蓝牙芯片,也是51内核。
但是Flash和RAM甚至比STM32还大,软件也搭载了osal协议栈,难度一点也不比那些STM32的简单。
这个协议栈,我研究了1个多月才基本搞懂,并把osal系统剪裁后移植到STM32单片机上。
其实说白了,就是一种程序架构,只是比较成熟稳定,给产品提供了很多辅助性的功能,比如说定时器、事件、队列、链表等等。 如果说你只会51内核的单片机,能把这协议栈吃透的话,找个工作也是绝对没问题的,而且工资会比一般的高。 2.单片机从事什么工作? 嵌入式这个行业其实也细分很多不同方向,单片机开发就是其中一种。 在学习之前,我们一定要先定位好职位,再规划系统学习路线,否则你的学习效率短则慢几个月,长则慢几年。 如果你是想从事单片机软件开发的职位,可以参考我们无际单片机编程给学员的职业定位。 1).单片机工程师 2).MCU工程师 3).STM32工程师 4).嵌入式工程师 5).电子工程师 直接在招聘平台找这几个职位就非常精准了。 如果你没做这类工作,你根本不知道这个职位是做什么工作的。 这就导致很多新手,即深入学习硬件,又深入学习单片机和c语言。 学了很长一段时间,发现还是什么都做不出来,最后感叹学单片机太难了。 在实际产品开发时,一般一个产品电子部分由2个工程师共同完成,分别是硬件工程师和单片机软件工程师。 硬件工程师主要负责方案选型,原理图设计、pcb设计、样品焊接、BOM清单整理。 单片机软件工程师在硬件基础上开发产品功能程序。 所以,虽然单片机软件开发要学硬件,但不需要学这么深,前期只需要看懂就可以了。 看懂和设计,看似差不多,实际截然不同。 |