我是靠谱客的博主 潇洒羊,最近开发中收集的这篇文章主要介绍stm32和51我们该如何选择,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

想学习单片机的同学可以关注、私信我或者在评论区回复我要入门。作为初学者要选择前一般会在网上看一些老前辈给的建议。很多人开始对初学者说51已经过时了不需要学,直接上stm32单片机。

8c1bfa48174a5d13acd3de22b9c7b8e5.png

很多新手信了放弃51直接上32,能学会才怪!首先会去看这些建议的同学本身的能力不会特别出众,学习能力是中等偏上的水平,学习能力强的要不是在学校的实验室要么就在电赛培训,这两批人都不会在找学习的入口,因为他们已经找到方向去入门,也明确了心中的目标。

先学51单片机,真正的目的在于让大家能对单片机的原理有一个深入的理解。

51单片机都是通过配置寄存器来控制外设,实际上目前大多数单片机都是这样做的,区别就是寄存器不一样。当我们懂了其中一种以后,其他都可以照葫芦画瓢的去学习。

一、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相比32的开发更加效率。

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丰富得太多,肯定技术知识点相对应的就会多。

所以,两者厂家对芯片的定位不同,51除了偏向低端产品以外,开发也更接近底层。

而stm32厂家的定位是帮助工程师快速做出产品。

基于这些特点,如果入门你刚开始搞stm32的话,会有很多基础知识的缺失。

32的知识太多,学习难度相对会很大,导致你学起来比较吃力,很多东西也掌握不透,在学习的过程中容易坚持不下去,觉得单片机这玩意一点都不好玩。

一般先学会51,然后通过51去做几个小项目,再去学习stm32会快很多。

不需要系统地把所有外设都学习一遍,先学一些常用的外设,学习最好的方法就是通过项目去实践。对于哪些不常用的外设,等到项目用到的时候,就再去看这个外设怎么开起来就可以了。学习的方法要灵活一些,不需要再像读书时候那样一页一页的学。分清重要次要,必要和不必要也是对学习效率的提升。

基本上和51的套路一样,先大概过一遍知识,再通过几个项目的实践,基本上就能掌握stm32了,如果觉得自己还没掌握那就多做几个项目,不要怕做项目,因为玩单片机你注定就和项目这个东西不能分开了,项目可以累积非常多的经验,这些经验非常的宝贵,可以让我们更深入的理解知识和锻炼自己的能力。

本期先分享到这里,想要进群学习单片机编程的同学可以私信我,回复“我要入门”,与我们一起成长,喜欢的可以点个赞关注我们!

a81624e978f41c9a29932c2631d2b1bd.png

最后

以上就是潇洒羊为你收集整理的stm32和51我们该如何选择的全部内容,希望文章能够帮你解决stm32和51我们该如何选择所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部