先学51还是先学STM32?STM32和51单片机的区别

来源:本站
导读:目前正在解读《先学51还是先学STM32?STM32和51单片机的区别》的相关信息,《先学51还是先学STM32?STM32和51单片机的区别》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《先学51还是先学STM32?STM32和51单片机的区别》的详细说明。

之前无际在网上看了一些老工程师给初学者的一些建议。

其中一个就是新手可不可以直接跳过51单片机学习STM32。

很多无知的老鸟教唆初学者说51已经过时了,建议直接学STM32单片机。

如果新手信了他的邪,能学会才怪!

当他说出51过时的时候,我就知道这个人是个外行。

所以在信息爆炸的时代,如何学会去甄别哪些是对的,哪些是错的特别重要,方向不对毁一生!

创客海社区一直提倡初学者从51开始学习,目的在于让大家能对单片机的原理有一个深入的理解。51和STM32仅仅是单片机选型的性能上的区别,并不代表了技术水平和能力。

51单片机是通过C语言或者汇编语言配置寄存器来控制外设,实际上目前大多数单片机都是这样做的,区别就是寄存器不一样,51单片机内的寄存器数量非常少,比较容易入手。

STM32单片机可以通过C语言来配置寄存器来控制外设,但是STM32实际上有数千个左右的寄存器,如果用51单片机的学习方式会效率非常低下。所以要用到库函数这种直接调用的黑盒式编程方式,而无需了解深层原理。

单片机的领域是相通的,当我们懂了其中一种以后,其他的都是大同小异。但是51单片机更多的是学会了单片机内层的深层工作原理,可以直观看到C语言、汇编语言、机器语言的差异,能学到没有黑盒的知识。如果式有51单片机基础的学生再应用其它的单片机会很得心应手。但是如果上来就学习STM32,可能不是很好理解单片机的底层原理,对于更换其它的单片机有些难度。

一、51和stm32单片机的区别

先学51还是先学STM32?STM32和51单片机的区别

Intel 8051 单片机

先学51还是先学STM32?STM32和51单片机的区别
STM32F103C8T6


51和stm32的区别还是挺大的,51是属于低端单片机,stm32算是中高端单片机了,他们面向的产品也不一样,真要区别,一篇文章远远不够。

这里只说对我们开发息息相关的。

1. 内核

51是Intel的8051的内核架构,而STM32有Cortex-M1/M2/M3/M4/M7/M33这么多内核版本,像我们常用的STM32F1系列就是Cortex-M3的内核。

2. 资源

51是入门级单片机,各方面资源都不如stm32,比如说主频、ROM、RAM、IO口、外设资源。

3. 开发模式不同

51是直接操作寄存器使用外设,而stm32是直接调用库函数使用外设,相对51开发更加效率。

4. 操作系统

51只能运行Tiny51微型任务调度操作系统;而stm32可以跑主流的RTOS比如uCOS、FreeRTOS、RTthread、CoOS、Nuttx,但是依然不足以运行Linux操作系统。

5. 后期维护

传统的51不能通过代码来自我烧写内部固件,需要专用的下载电路下载整个固件。

而STM32可以通过编写自举方式的程序来编辑内部下载好了的固件,如果软件有bug,可以通过更新固件实现,直接升级程序解决。

6. 开发环境

51和STM32都可以用Keil或者IAR开发,但是版本不同,比如51是Keil-C51,STM32是MDK-ARM。这是因为CPU内核的指令集不同。

除了Keil、IAR以外的编译器还有GCC编译器、可配套的编辑器有Code::Blocks、VScode、eclipse等等。

7. 程序架构

资源很紧张的51单片机,产品开发时一般以功能实现为主,不会考虑程序架构可扩展性和可移植性,因为ROM和RAM不允许。而STM32有充足的空间做容错机制。

8. 难易度

STM32虽然是通过库函数就能把芯片外设用起来,但是学不到最底层的原理,代码高度封装。开发难度却比51难很多,因为STM32的资源丰富,涉及的技术点就多。

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

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

基于这些特点,如果你刚开始就直接去STM32的话,会有很多基础知识的缺失。

导致你学起来比较吃力,很多东西也掌握不透,在学习的过程中会很痛苦,觉得这玩意太难了。

一般有51基础,并且做过一些小项目,学习STM32会快很多。也不用系统地把所有外设都学习一遍,最好的方法就是通过项目去学习,项目用到什么外设,就相应去看这个外设怎么开起来。

基本上一个项目下来,你就能掌握STM32了,其实归根到底就是把它当做一个工具熟悉而已。

提醒:《先学51还是先学STM32?STM32和51单片机的区别》最后刷新时间 2024-03-14 01:23:33,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《先学51还是先学STM32?STM32和51单片机的区别》该内容的真实性请自行鉴别。