0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

入坑STM32后,我们应该如何学习?

大鱼机器人 来源:大鱼机器人 作者:大鱼机器人 2022-08-19 14:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01

前言

STM32之前,都是老大头51,带着它的“小弟们” MSP430、AVR、PIC在单片机界呼风唤雨。

那个时候,市场上遍布8位机,大学教材用51入门,个人、企业学单片机基本上也都在用51。

虽然AVR也有一些8位机市场,但与stc带领下的51单片机是完全不能相比的。

当然,这个时候也有16位机的msp430,其他厂家单片机还有pic,高端嵌入式处理器等市场有arm7、arm9等。

这个时期的单片机市场是百花齐放、百家争鸣,但总体来说,还是势均力敌、一片祥和的。

那么,这个局势是从什么时候开始打破的呢?这还得从物联网的崛起说起。

02

原因

当时,物联网(Internet of Things,IoT)逐步进入人们的视野范围。随着它的发展,嵌入式领域对于高性能处理器的需求呈现爆发式增长。

虽然8位CISC(复杂指令)架构内核8051占据了半壁江山,但奈何其性能低下,寻址范围受限,已经难以适应更多的新兴应用领域。

而32位架构微处理器内核凭借其极佳的执行效能,不仅能满足物联网对数据处理能力的要求,还能兼顾物联网的低功耗和高性能要求,斩获物联网市场的独家宠爱。

在32位架构微处理器中,属ARM公司推出了面向各类嵌入式应用的微控制器核Cortex-M内核受到市场青睐,Cortex-M之于32位MCU就如同8051之于8位MCU。

而正是Cortex-M的出现,让ST公司看到了这个内核的强大之处——利用该内核设计了大放光芒的STM32,打破了曾经的单片机局面。

03

崛起过程

如今,我们往回看那段历史,会发现一切改变都由那时发生——

从2007年6月11日推出第一代STM32产品——Cortex-M MCU STM32F1开始,单片机市场迎来了STM32新星,32位MCU浪潮,如期而至。

a4555b34-1f86-11ed-ba43-dac502259ad0.jpg

a4672dd2-1f86-11ed-ba43-dac502259ad0.jpg

此后,芝麻开花节节高,STM32成功的故事也一直在延续。

ST公司陆续在每一年都基于新的内核或者新的技术领域有所突破,发布超过了19个STM32 产品系列,包括一个MPU产品线,生产工艺也从180nm不断进阶到110nm、90nm和40nm。

例如:

2009年推出了全球第一款超低功耗系列STM32 L1;
2010年推出了第一款在高性能的基于90纳米工艺、120 MHz 的STM32F2产品线;
2011年推成第一款高性能Contex-M4的处理器STM32F4;
......
2019年推出全球最为强大的第一款双核处理器STM32MP1、最新一代混合信号Contex-M4 MCUs和世界上最大的MCU STM32H7;
2020年推出全球首颗内置LoRa收发器的SoC——STM32WL。

a4802436-1f86-11ed-ba43-dac502259ad0.jpg

“一只南美洲亚马逊流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可以在两周以后引起美国德克萨斯州的一场龙卷风。”

STM32这只小蝴蝶带来的改变效果也很明显。

2007年ST公司的通用MCU全球排名还只是第11位,2015年便上升到第3位,2018年上升到第2位,2018年则在中国供应商的排名中ST公司一举拿下第一的高地,此后数年,ST的地位几乎无人撼动。

a49192e8-1f86-11ed-ba43-dac502259ad0.jpg

04

如何学习

入坑STM32后,我们应该如何学习?

如今,STM32堪称爆火,并且潜力无穷。所以,有很多人都在学STM32。

但STM32对入门者可能不是特别友好,因为知识很多,但是对于有一定开发经验的人来说,就是一把好兵器,它能帮你大大缩短开发周期。

那应该如何入坑STM32呢?

(1) 根据时间表定时定量学习

大学时期,都有实验室的学长学姐带着入门,安排任务。

比如,基本任务是一周内学完搭好环境、熟悉调试软件,结合《STM32Fxxx参考手册》、《STM32固件库使用手册》和光盘视频,实现基本篇的GPIO应用。

(2) 举一反三,并通过阶段任务检查学习效果

在学习例程时,可以尝试修改该例程的外设配置,达到举一反三的效果。

每一周,学长学姐会根据你的学习进度,安排给你一个阶段任务,用来检查你的学习效果。

如果你是自学,那么可以根据网上教程和各大资源网站上的“STM32入门小项目合集”,主动给自己找一个小项目,把它实现出来。

这里我推荐正点原子的资源,毕竟每次看视频时的片头曲“我的未来不是梦”让我对STM32充满激情,当然野火、小苗、普中也不错~

(3) 基本外设、功能会用就行,后期需要什么再去针对性地学

按部就班地把STM32知识从头到尾系统性地学习完,固然很好。但是,你要知道学习单片机只是为了解决问题,我们只要在遇到问题时,能够通过STM32解决就行。

因此,当你把基本外设、功能都差不多掌握了,程序能跑起来,并且也知道哪里可以修改、修改成什么就已经基本入门了。

此后,你可以通过一些大大小小项目,巩固理解和探索新功能,你的经验也随之增加。

(4) 学好C语言,可以学着画PCB制板、焊接

软件和硬件都要两手抓。C语言对于STM32的学习至关重要,C语言不好,还跑什么代码?学会画板子、焊板子,这样有什么需求,都可以自己添加。

当然,上面的建议都是给0基础的STM32入门者,若是你有一定基础,那当然是对症下药,哪里不会补哪里。

05

学海无涯,勇于探索新技术

“学海无涯、永无止境”,更何况是每一年都在推陈出新的STM32。

事实上,STM32 的开发方式已经发生了很大的变化。

比如:

2014 年,ST 公司推出了 HAL 库和 MCU 图形化配置软件STM32CubeMX。

2017 年年底,ST 公司收购了 Atollic 公司,把专业版 TrueSTUDIO 转为免费软件。

2019 年 4 月,ST 公司正式推出了自己的 STM32 程序开发 IDE 工具软件 STM32Cube‍IDE1.0.0,打造了一个完整的 STM32Cube 生态系统。

而STM32Cube 生态系统已经完全抛弃了早期的标准外设库,STM32 系列 MCU 都提供 HAL固件库以及其他一些扩展库。

STM32Cube 生态系统的两个核心软件是STM32CubeMX 和STM32CubeIDE,且都是由 ST 官方免费提供的。

使用 STM32CubeMX 可以进行 MCU 的系统功能和外设图形化配置,可以生成STM32CubeIDE 项目框架代码,包括系统初始化代码和已配置外设的初始化代码。

如果用户想在生成的 STM32CubeIDE 初始项目的基础上添加自己的应用程序代码只需把用户代码写在代码沙箱段内,就可以在 STM32CubeMX 中修改 MCU 设置,重新生成代码,而不会影响用户已经添加的程序代码。

由此看来,使用STM32CubeMX 和 TrueSTUDIO 进行STM32 开发是一个良好的组合方式!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45344

    浏览量

    663784
  • STM32
    +关注

    关注

    2305

    文章

    11122

    浏览量

    371206
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144644

原文标题:STM32为何能在诸多的单片机中脱颖而出?

文章出处:【微信号:All_best_xiaolong,微信公众号:大鱼机器人】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32 5 个容易踩的外设使用技巧

    STM32是嵌入式开发领域的热门MCU,功能丰富到几乎可以完成所有常见控制任务:GPIO、ADC、UART、定时器、DMA……应有尽有。但是,正因为功能强大,开发中踩的机会也随之增多。很多初学者
    的头像 发表于 11-24 19:04 523次阅读
    <b class='flag-5'>STM32</b> 5 个容易踩<b class='flag-5'>坑</b>的外设使用技巧

    为什么360°镜头容易“踩”?

    核心参数一:焦距与视场角-解决“看多广”与“看多清”的矛盾这是第一个,也是最容易选错的参数。误区:认为360°镜头的焦距和普通镜头一样。真相:360°镜头的焦距极短(通常为1-2mm左右),我们
    的头像 发表于 11-18 11:29 185次阅读
    为什么360°镜头容易“踩<b class='flag-5'>坑</b>”?

    STM32和ESP32有什么区别?如何选开发板?资深工程师学习路线建议!

    在网上搜索“STM32和ESP32的区别”,你可能会得到一堆参数对比:内核、主频、外设、功耗……今天,我们不罗列参数,而是从实际应用、学习路径和职业发展的角度,帮你彻底理清这两大顶流MCU的关系
    的头像 发表于 11-07 15:18 386次阅读
    <b class='flag-5'>STM32</b>和ESP32有什么区别?如何选开发板?资深工程师<b class='flag-5'>学习</b>路线建议!

    意法半导体:STM32CubeMX将不再集成到STM32CubeIDE中

    实际集成后会出现 性能低下 、跨操作系统 稳定性差 和 更新包庞大 等问题。因此我们应该STM32CubeIDE回归本源,继续专注于 编辑/编译/调试 等核心功能。 STM
    的头像 发表于 09-01 17:18 2664次阅读

    UWB自动跟随技术原理、算法融合优化和踩实录

    UWB为什么是最靠谱的自动跟随技术?原理是什么?需要做什么算法融合、优化?我们在开发过程中踩过的
    的头像 发表于 08-14 17:45 1137次阅读
    UWB自动跟随技术原理、算法融合优化和踩<b class='flag-5'>坑</b>实录

    车载以太网指南,从小白到懂哥的进阶之路

    帖子分享一下,顺便求各位大佬指点。先说个结论:车载以太网真的是个好东西,但也不少。如果你是搞汽车电子的,或者对车联网技术感兴趣,建议耐心看完这篇。     为什么会有车载以太网这个东西? 说起来还得从传统的车载
    的头像 发表于 07-18 13:51 747次阅读
    车载以太网<b class='flag-5'>入</b><b class='flag-5'>坑</b>指南,从小白到懂哥的进阶之路

    PLC工业智能网关:功能解析、场景落地与选型避攻略

    如何避免选型踩?本文从技术原理、核心价值、典型场景、避指南四大维度,结合真实案例与行业趋势,为您彻底拆解PLC工业智能网关的“真面目”。
    的头像 发表于 07-16 13:21 475次阅读
    PLC工业智能网关:功能解析、场景落地与选型避<b class='flag-5'>坑</b>攻略

    STM32单片机学习进阶路线】FreeRTOS嵌入式开发指南:从入门到智能循迹避障小车项目实战(含文档代码)

    STM32学习路径一般是先掌握裸机开发,再进阶学习RTOS。简单的功能可通过裸机实现,而复杂产品则需借助RTOS来完成。随着RTOS应用场景日益增多,尤其在物联网快速发展的推动下,越来越多企业在
    的头像 发表于 05-29 11:46 905次阅读
    【<b class='flag-5'>STM32</b>单片机<b class='flag-5'>学习</b>进阶路线】FreeRTOS嵌入式开发指南:从入门到智能循迹避障小车项目实战(含文档代码)

    公路路面病害(如裂缝、槽等)检测

    公路路面病害(如裂缝、槽等)检测
    的头像 发表于 04-10 11:43 690次阅读
    公路路面病害(如裂缝、<b class='flag-5'>坑</b>槽等)检测

    STM32学习GPIO之设计篇

    今日分享 GPIO 结合寄存器以及硬件电路,再来举例子分析输入输出。寄存器介绍:通过寄存器的位标注 rw,我们可知这个寄存器的某个位是可读(r)并且可写 的(w),我们也可以通过读寄存器里面的值得
    发表于 03-27 13:57 2次下载

    单片机程序调试黑宝书,写得不错很实用!【推荐下载】

    新人必,也很适合入门依有疑问的小伙伴! 1.2 谁应该读这篇文章? 我们经常在论坛看到类似这些主题的帖子“I2C 程序怎么调 为什么我的程序不对?”,然后贴一堆代码上来;“为什么我这样写对,那样写
    发表于 03-04 13:31

    STM32和ESP32应该学哪个

    STM32 和 ESP32,哪个更适合我们学习? 这两个虽然都是单片机,但是各自的应用领域不一样,不存在谁取代谁的关系。 STM32 历史悠久,产品线非常的丰富,应用领域涉及医疗、汽车
    的头像 发表于 02-18 09:52 1128次阅读

    【入门必看】STM32单片机应该怎么学?零基础小白必备学习指南!

    嵌入式系统微控制器市场,尤其在工业自动化、消费电子、物联网等关键领域具有重要地位。STM32生态系统丰富活跃,提供大量学习开发资源,企业应用广泛,人才需求前景广阔
    的头像 发表于 02-14 11:10 2836次阅读
    【入门必看】<b class='flag-5'>STM32</b>单片机<b class='flag-5'>应该</b>怎么学?零基础小白必备<b class='flag-5'>学习</b>指南!

    AFE031初始化的过程应该是什么?

    我现在工程中需要使用AFE031,在工作中遇到以下问题,请高手可以指点一二: 1:如果在不烧任何软件的时候,参考电压RFE1和REF2 是否就已经存在?还是需要软件对其进行正确的初始化才可以
    发表于 01-15 06:54

    电源设计避(下)

    。在上一期《电源设计避(上)》中,我们讨论了电源设计中的电源功率、稳定性、纹波控制以及尖峰和浪涌的问题,并结合实际案例提出了相应的应对措施。接下来,我们将继续探索
    的头像 发表于 12-16 11:37 1082次阅读
    电源设计避<b class='flag-5'>坑</b>(下)