其中之一就是新手是否可以直接跳过51单片机,学习stm32。
很多老手指导初学者都说51已经过时了,建议直接学习stm32单片机。
如果新手相信他的恶行,能向他学习,那就太神奇了!
当他说 51 已经过时时,我知道他是个业余爱好者。
因此,在信息爆炸的时代,如何学会辨别什么是对、什么是错就显得尤为重要。 错误的方向将会毁掉你的一生!
我们无极单片机编程团队一直主张初学者从51开始学习,目的是让大家深入了解单片机的原理。
51微控制器通过配置寄存器控制外设。 事实上,目前大多数微控制器都这样做。 区别在于寄存器不同。
一旦我们理解其中之一,其他的都是类似的。
一、51和stm32单片机的区别
51单片机
STM32微控制器
51和stm32的区别还是蛮大的。 51是低端单片机,而stm32是中高端单片机。 他们针对的产品也不同。 如果我们真的想区分它们,一篇文章是远远不够的。
这里只讲与我们发展密切相关的。
1. 内核
51是Intel8051的核心架构,STM32有Cortex-M1/M2/M3/M4/M7等多个核心版本。 比如我们常用的STM32F1系列就是Cortex-M3的核心。
2. 资源
51是入门级单片机,其资源各方面都不如stm32,如主频、ROM、RAM、IO口、外设资源等。
3、开发模式不同
51直接操作寄存器,使用外设,而stm32直接调用库函数使用外设,比51开发效率更高。
4、操作系统
51不能运行实时操作系统,而stm32可以运行主流RTOS。
5、后期维护
51无法升级程序,而stm32可以通过编写bootloader程序完成后续产品程序升级。 如果软件出现Bug,客户无需退货,直接升级程序即可解决。
6. 开发环境
虽然51和stm32都可以用keil进行开发,但是版本不同,stm32的开发环境也相对多样化。 主流的是keil或者iar。
7. 程序架构
如果是资源非常紧张的51单片机,产品开发一般注重功能实现,不考虑程序架构的可扩展性和可移植性,因为ROM和RAM不允许。
8. 难度
Stm32虽然可以通过调整库来使用芯片外设,但是开发难度会比51困难很多,因为stm32资源丰富,涉及到的技术点也很多。
因此,两家厂商对芯片的定位有所不同。 51除了偏向低端产品外,发展也更靠近底层。
stm32厂家的定位是帮助工程师快速打造产品。
基于这些特点,如果一开始就直接上stm32的话,会漏掉很多基础知识。
这样一来,你学习起来就会更加困难,很多东西你就无法掌握透彻。 学习过程中会很痛苦,你会觉得这个东西太难了。
一般来说,如果你有51基础,做过一些小项目,学习stm32会快很多。
无需系统学习所有外设。 最好的方法是通过项目学习。 根据项目中使用的外围设备,您可以了解如何打开它们。
基本上做完一个项目就可以掌握stm32了。 我就是这样学习stm32的,没有看任何视频教程。
相比教程,我更喜欢找例程,这样更节省时间。 如果有基础的话,通过例程就能很快猜到改代码的结果会是什么。
其实说到底,只是把它当作一个工具来熟悉而已。
最后的复活节彩蛋时间!!!
最近有同学向我要单片机的资料。 我花了一个月的时间总结了自己10年的产品开发经验,收集了史上最认真、最硬核、最实用的《高级单片机入门教程+工具包》。 +22个热门项目”,免费分享给大家。
资料包几乎涵盖了C语言、单片机、模拟和数字电子、原理图和PCB设计、高级单片机编程等内容,非常适合初学者入门和进阶。
另外,我会在盒子底部泪流满面地分享我整理的22个热门开源项目,包括源码+原理图+PCB+文档,让你快速成为高手!
据说有朋友就是通过这个成功加入BAT的,一定要保存好,好好学习!
后期我也会成立一些技术交流群,让大家可以认识更多的大佬,有一个良好的圈子。 您对行业的了解将处于最前沿。
如果你想要上面的“MCU入门进阶教程工具包+进入MCU交流群”,可以点击下方⬇️卡片查看文章开头即可获取。
或者你可以寻找全网同名的“Boundless Microcontroller”。
以下是无极更多原创的个人成长经历、行业经验、技术资讯。