我们在招聘平台上随机搜索了“嵌入式开发”这个职位,看到很多职位都要求STM32。为什么?个人用了几年STM32单片机,感觉很爽。后面能做出来的产品基本不用别的就能用ST了。主要原
我们在招聘平台上随机搜索了“嵌入式开发”这个职位,看到很多职位都要求STM32。为什么?
个人用了几年STM32单片机,感觉很爽。后面能做出来的产品基本不用别的就能用ST了。
主要原因如下:
1。我对这个芯片很熟悉
2。相对稳定
3。资源丰富,价格合理(最近涨价除外)
4。材料多,问题能很快解决
5。无需配置寄存器即可轻松开启外设
其实除了STM32,STM8也很不错。虽然用的是IAR开发环境,但是开发方式都是库调整。
大大缩短产品开发周期。
一般对于小功率的产品,我比较喜欢STM8L系列单片机。
既然STM32芯片市场的需求这么大,作为开发者,你必须学会适应市场。
Stm32有人说简单,有人说难。实际情况如何?
个人觉得STM32比较简单。就看你怎么学了。至少对于应用来说,非常简单方便。
如果从挖人家祖坟的角度来研究,那就难了!
如果你只是想把它作为一个工具,学习就容易了。
在接触STM32之前,我已经有了几个项目的经验,虽然我用的是STC和恩智浦的MCU。
但是MCU也不过如此,配置寄存器控制外设,最后外设控制电路实现产品的功能。
大概就是这个原理吧。不同的是不同的MCU外设有不同的资源和不同的配置方式。
有些单片机需要手动配置寄存器,比如51单片机和恩智浦(几年前的,不知道现在有没有库)。
有些单片机直接提供标准库让你调用,单片机的外设可以通过调用库函数来开启,比如STM32。
这将产生一个问题。
如果你之前没有接触过51单片机,一上来就启动STM32,你很难理解配置寄存器和开外设的过程。
这相当于给你的学习过程埋下了一颗定时炸弹,随时都会爆炸。具体表现就是每学一个知识点都会有很多不明白的地方,这都是基础知识不足造成的。
所以,我一直要求我的学生,不管你有多聪明,都要从51单片机开始学习。
而且事实证明,看起来你是直接从STM32走了捷径,但实际上你花在学习上的时间比从51开始还多,你的理解也没有那么深刻。
不管你是入门级的51还是STM32单片机,如果是自学的,最好买开发板。
然后对照开发板附带的视频教程,每看完一章我都会自己做一个实验。
如果顺利的话,半个月就可以开始了。
一般来说,单片机用两种语言编程:
1。编译
2。c语言
现在很少用汇编,只有那些RAM和ROM都很小的单片机才会用汇编来开发。
大部分都是基于C语言的,所以我建议只在前期学习C语言。我做了10年,还没有用汇编开发产品。
偶尔有些启动文件需要通过汇编来改变,比如移植系统,修改堆栈大小。
这些都很简单。直接搜索相关说明就可以了,看看是什么意思。这个系统不需要学习汇编。
一开始没有系统的学习STM32,产品都是用的,就顺势买了个开发板(主要是让他们开外围套路)。我都懒得看视频了。
套路过后,基本上从代码就能看出是什么意思,单片机也差不多。
例如,要配置IO端口,我们必须首先打开GPIO时钟,然后选择要配置的引脚,并设置输入或输出模式。输出模式分为上拉、下拉、推挽、开漏等。
最后,你可以控制IO输出的高低。如果你有其他单片机基础,很快就能上手。
别人固件库的出发点是不想让你浪费时间去了解芯片复杂的寄存器配置。
很多人不知道,这里只是绕道而已。研究STM32数据手册来配置寄存器是不现实的,读取几百个或者几千个寄存器也是不现实的。
所以,学习STM32,方法很重要!