登录/注册

学完51学stm32容易么

学完51学stm32容易么

更多

学完51单片机再学STM32,整体上会更容易一些,但也会遇到新的挑战和需要适应的概念。

为什么说更容易(优势):

  1. 基础概念相通:

    • 核心原理: 你已经理解了CPU、内存、外设、中断、定时器、串口通信、GPIO控制等嵌入式系统的基本概念和工作原理。这些在STM32中是完全通用的。
    • C语言编程: 你已经熟悉了在资源受限环境下使用C语言进行开发,包括指针、结构体、位操作等关键技能。STM32开发也依赖C语言。
    • 硬件思维: 你理解了硬件电路(至少是开发板层面)与软件程序的交互方式,知道如何看原理图、数据手册(虽然STM32的手册更复杂)。
    • 调试经验: 你经历过在51上调试程序、查找硬件连接错误、软件逻辑错误的过程,这些经验对STM32同样宝贵。
  2. 对“单片机”有直观认识: 你已经知道单片机是什么、能做什么、开发流程是怎样的,消除了最初的陌生感”和“畏惧感”。

为什么说仍有挑战(需要适应和学习的新内容):

  1. 架构和性能的飞跃:

    • ARM Cortex-M内核: STM32基于ARM架构(如Cortex-M0, M3, M4, M7等),这与51的8051架构完全不同。你需要理解ARM的寄存器组织、指令集(虽然主要用C,但理解汇编有助于深入)、流水线、中断处理机制(NVIC)等。
    • 更高的主频、更大的Flash/RAM: 性能提升带来更复杂的应用可能,但也意味着需要管理更复杂的程序。
    • 更复杂的外设: STM32的外设(如ADC, DAC, TIMER, USART, SPI, I2C, CAN, USB, Ethernet, DMA等)功能更强大、配置选项更繁多、寄存器更庞大。例如,一个STM32的定时器可能比整个51单片机还复杂。
  2. 开发模式和工具链的转变:

    • 从寄存器操作到库函数/框架: 51开发通常直接操作寄存器(位操作多)。STM32寄存器数量庞大,强烈推荐使用标准外设库(StdPeriph Lib)、HAL库或LL库,或者基于CubeMX的图形化配置生成代码。 你需要学习这些库的API和使用方法,理解其背后的逻辑,这需要时间适应。
    • CubeMX/MX: ST官方提供的图形化配置工具,用于初始化时钟、引脚、外设等,极大简化了底层配置,是STM32开发利器,但需要学习的新工具。
    • 更复杂的IDE: 虽然Keil MDK-ARM(uVision)界面类似51的Keil C51,但底层配置和工程管理更复杂。也可能使用IAR EWARM、STM32CubeIDE(免费)等。
    • 调试工具: 虽然还是JTAG/SWD,但调试更复杂的程序需要更熟练地使用断点、观察窗口、外设寄存器查看等调试功能。
  3. 时钟系统复杂: STM32的时钟树非常复杂(PLL, HSI, HSE, LSI, LSE, 分频器,复用等),理解并正确初始化时钟系统是STM32开发的关键一步,也是难点之一。

  4. 中断系统复杂: STM32使用嵌套向量中断控制器(NVIC),中断优先级、抢占、嵌套的配置比51复杂得多。

  5. DMA的使用: DMA在STM32中应用广泛,用于高效传输数据而不占用CPU,这是一个需要掌握的重要概念。

  6. 固件/启动文件: 需要理解启动文件(startup_stm32fxxx.s)的作用,它负责初始化堆栈、设置中断向量表、调用main函数等。

总结与建议:

结论:

学完51再学STM32,入门和理解会更快,因为有扎实的基础垫底。 但STM32本身的复杂性和新的开发模式(库/HAL/CubeMX)会带来新的学习挑战。只要你愿意投入时间,积极适应新的工具和方法,利用好已有的知识基础,掌握STM32是完全可行的,而且会比没有51经验的人顺利很多。这是一个自然的进阶过程,难度提升可控,但需要付出努力去跨越。 加油!

请问没学51单片机可以直接STM32吗?

请问没学51单片机可以直接学STM32吗?

2021-09-30 08:06:20

stm32之后学什么

学完stm32之后学什么,今天的分享来源于我在ac乎上回答的一个问题:我觉得这个问题挺有意思的, 都是拉电话线的专业,都是在学习

2021-07-22 08:24:32

stm32之前有没有必要51

学stm32之前有没有必要学51,之前无际在网上看了一些老工程师给初学者

2021-07-15 07:40:24

STM32单片机怎么最快?用这个方法只需要一周!

、入门我刚开始学完51就出去找工作了,那时是2011年,企业对这个职位的要求还不高,会

资料下载 1123127317 2021-11-19 11:06:03

单片机新手STM32还是51

单片机新手学STM32还是学51?先说我的答案第一点第二点第三点先说我的

资料下载 淡淡的爱 2021-11-18 20:36:05

"stm3251单片机的区别,先51还是先stm32?"

之前无际在网上看了一些老工程师给初学者的一些建议。其中一个就是新手可不可以直接跳过51单片机学习stm32。很多老鸟教唆初学者说51已经过时了,

资料下载 佚名 2021-11-12 12:36:01

电机第五版电子书

电机学第五版电子书

资料下载 ah此生不换 2021-03-10 09:46:39

51单片机中的几个小程序资料免费下载

本文档的主要内容详细介绍的是学51单片机中的几个小程序资料免费下载

资料下载 佚名 2019-06-17 17:44:00

单片机新手STM32还是51?精选资料分享

单片机新手学STM32还是学51?先说我的答案第一点第二点第三点先说我的

2021-07-14 06:36:13

嵌入式应该先什么?

32那些复杂的库和配置,学起来会更简单;也有人为应该先学32,虽然32比较难,但是学完32再入手

2021-07-13 09:15:40

请问放弃51单片机,直接STM32的开发会有什么严重的问题

放弃51单片机,直接学STM32的开发会有什么严重的问题么?

2020-07-19 08:05:30

求帮助还有必要STM32吗?

单片机学过简单的51和AVR,今年都30岁了,初中文化还有必要学STM32?因为是业余爱好的就算学会了自己手工焊接芯片也难吧?所以我也不是很清楚

2020-03-17 01:30:24

是先STM8 还是STM32

是先学STM8,还是学STM32?

2020-03-04 11:05:00

51stm32后学什么

学完51和stm32后学什么(

2019-08-10 00:23:07

请问51可以做个什么东西帮助学习?

刚学完51,想做个东西,比较综合,然后帮助学习吧

2019-08-07 04:35:20
7天热门专题 换一换
相关标签