单片机51和stm32编程步骤一样吗?

举报
无际单片机编程 发表于 2021/10/18 22:48:33 2021/10/18
【摘要】 我是在10年前自学的单片机。 那个时候主要是学的51单片机入门的,从零基础到靠这个找到工作前后大概花了3-5个月左右,具体多久我忘记了。 当时竞争还没现在这么大,很多新型的单片机也还没出来,所以选择相对集中。 我只学了51芯片,然后做了一个项目,在磕磕碰碰的情况下就找到工作了。   接触第一份工作的时候用的是STC公...

我是在10年前自学的单片机。

那个时候主要是学的51单片机入门的,从零基础到靠这个找到工作前后大概花了3-5个月左右,具体多久我忘记了。

当时竞争还没现在这么大,很多新型的单片机也还没出来,所以选择相对集中。

我只学了51芯片,然后做了一个项目,在磕磕碰碰的情况下就找到工作了。

 

接触第一份工作的时候用的是STC公司的51单片机,做一个读卡器,就是智能楼宇的楼层权限控制板。

 

做熟了以后老板对我的技术也慢慢认可了,又丢了一些稍微复杂的产品给我做。

 

老的方案是用NXP的芯片做的,但是NXP的芯片虽然稳定,价格还是贵了一些,后面老工程师推荐用STM32的做。

 

老板让我先去研究下STM32的芯片,我为了得到老板进一步的认可,自行忍痛在某宝买了一个STM32开发板。

 

打开开发板例程的那一刻,我懵逼了,这是什么鬼?

 

以前在用51和NXP单片机开发的时候都是看着芯片手册配置寄存器的方式来开发的,STM32是官方提供了很多库函数,直接调用就能把单片机外设用起来。

 

刚开始不太习惯,不知道每个库函数的作用,等用熟了之后瞬间感觉NXP一点都不香了。

 

后面我做任何项目都优先考虑STM32的单片机,用起来太方便了,而且芯片也稳定,不会给你整一些莫名其妙的问题。

 

后面自己又写了一个程序架构来解决大多数产品的一些痛点,比如说LED特效、多按键多功能检测、队列之类的。

 

基于这个架构,只要是用STM32开发产品我都如云得水,基本2-3周就完成了产品的代码部分,深得领导的认可。

 

从目前市面上的单片机来说,主要的编程步骤和开发模式都大同小异,很多芯片也在学习STM32这种模式,即使库没那么完善,都会提供外设的例程。

 

原因很简单,你只有让别人快速把你芯片用起来,同时保证价格和质量,别人才会考虑用你的芯片。

 

不管是什么单片机,无非就是2种编程模式:

1.基于寄存器开发,原厂提供例程

 

2.基于固件库开发

基于寄存器写出来的代码占用空间更小,执行效率更高,缺点是开发周期会长一点。

 

基于固件库开发占用内存空间更大,执行效率会慢一些,但是移植性好,也稳定,开发周期快挺多。

 

除了开发模式的区别,51和STM32还有资源和性能上的区别。

 

当然,拿这两个芯片比资源和性能明显不合适,因为针对的市场不同,51是针对低端产品,比如说小家电这种。

 

STM32是针对相对高端的产品,比如说无人机、工业控制、智能家居等等。

 

我看过一些文章,说51单片机已经过时了,这种基本是外行人,或许都没从事过这个行业。

 

有些产品非常简单,可能就一个按键,一个LED灯,如果你用STM32去做,老板第二天就把你干掉。

 

实际做产品需要考虑的问题非常多,成本就是占比很大的一块,51单片机成本比STM32低很多。

 

还有一些建议直接忽略51单片机去学STM32的。

 

我个人建议的学习路径是,先学51打基础,深入理解单片机的原理,再学习STM32做应用,提升自己的编程水平。

文章来源: blog.csdn.net,作者:无际单片机编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43982452/article/details/118024330

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。