新手学几天STM32,为啥一脸茫然

李肖遥 2025-05-21 22:11
    关注、星标公众号,直达精彩内容

转自 | 嵌入式大杂烩



 如果在之前没接触过任何单片机,那可能是以下两个原因:

  • MCU的基础知识理解的缺失

  • 不清楚STM32单片机的具体工作原理

    按照整个学习阶段先后顺序的说明,下文从三方面来说明问题。


1 单片机基础知识点


    对于MCU来说,在没有接触具体的功能,仅专用名词就一堆,交叉编译,内核,加法器/除法器、协处理器、算法加速器、指令集、浮点运算、流水线、哈佛结构、寄存器(通用和外设)、时钟、中断和异常、FLASH、RAM、Cache(缓存)、SDRAM(刷新时间)、USART(波特率,停止位,奇偶检验)、CAN,SPI(片选)和I2C等。


    对STM32 MCU理论知识的学习和理解很重要,以下是入门一款单片机的学习路线仅供参考。


图片

   


    这里面有的属于基础知识,有的属于进阶需要了解的知识点,这些名词的理解是作为入门者的第一个门槛,如果对一些专用名词不了解,那么组合起来的语句就更加晦涩难懂。


    这里说我的学习方法:遇到听不懂的专业术语,去网络上查找理解,并找个本子或电脑通过文档的形式记录下,一段时间回顾一下,好记性不如烂笔头。


    这里推荐,对于单片机学习中需要了解的内核知识都有说明。


2 STM32工作流程


    专业术语并不会多难,记住基本不会忘,就算忘了回顾下也简单,在迈过这个坎后,下一步就是理解芯片执行流程和我们要做什么才能让芯片工作起来。


  • 在上电后,芯片复位启动。

  • MCU从FLASH通过指令/数据总线分别读取指令和数据,配合解析执行,其中在通过RAM和通用寄存器(也就是R0~R12的内部寄存器)处理可变数据。

  • 根据执行的指令,配置和操作外设的的寄存器,从而驱动对应外设实现具体的功能。

  • 配合上层组合逻辑,结合外设功能,执行具体应用的全部需求。

    上述就是芯片工作的流程,而作为单片机开发者,实现的代码就是放在FLASH中的程序,由官方提供的SDK包和用户裁剪实现定义的外设驱动组成,按照上述流程就包含:

  • 芯片的启动过程中对堆栈的初始化

  • 系统相关外设的处理(如时钟) => 这部分由厂商提供,我们把文件放入项目即可,以STM32为例就是启动文件startup_xxx.s和系统初始化的SystemInit函数

  • 配置应用需要的外设模块,如果你看网上的教学视频,都是从这一步直接开始的,特别是STM32基于STM32CubeMx的实现,会告诉你这么写是满足要求的


    如果你不是愿意深究的人倒也无所谓,当你深究这东西的时候,就会发现没有人告诉为什么要这么写,迷惑自然就来了,其实这部分就是嵌入式所谓的经验成分。


    如大部分外设模块都要进行时钟使能,GPIO就要配置引脚的上拉/下拉,推挽/开漏,USART配置模式,波特率,奇偶校验,停止位,数据位,还要考虑对应GPIO的端口复用,I2C就要考虑主从模式,根据需要的传输速率确定模块时钟,SDRAM除了考虑引脚复用,时序,还要计算刷新时间来保证数据的稳定,这些知识理论上都是长期在工作中积累出来的。


    在项目需求确定后,根据芯片和器件选型,就能够确定硬件PCB的绘图和布置,功能需求也能确定,如访问外部EPPROM,那么I2C就确定为主模式,并根据EPPROM的读写时序和芯片的性能,考虑到效率和稳定的平衡,就可以确定I2C的速率,考虑布局和其它需求,I2C对应的复用引脚也能确定。


    事实上,对于真实项目,都是从需求=>项目计划书=>软硬件框架=>软件驱动


3 上层应用逻辑实现


    配合外设的应用逻辑实现其实才是项目中最复杂的部分,包含中断前后台系统的交互,可能存在RTOS应用和协议移植,GUI的管理操作,和其它模块如wifi模块,蓝牙模块的交互,不过这部分属于进阶内容,当你对外设模块有一定认知后,这部分应该也会有自己的学习方法,这里我就不在赘述。


    这只是我对单片机问题关于自己理解的总结,单片机虽然并不需要创新研发未知的技术,但却涉及从芯片底层到软件接口的全部实现,包含对现代计算机技术中向微处理器方向的全部精华技术,也是需要不断学习才能不被时代抛弃。


    先从STM32理论知识入手,拿实例代码在实验板验证,来加深对外设、协议等理论知识的理解。过程可能很慢,但是基础知识肯定会打的很扎实,相信对后面开发会有很大的帮助。


声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。


‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“星球”加入知识星球,有问必答。


点击“阅读原文”查看知识星球详情,欢迎点分享、收藏、点赞、在看。

李肖遥 公众号“技术让梦想更伟大”,作者:李肖遥,专注嵌入式,只推荐适合你的博文,干货,技术心得,与君共勉。
评论
  • 文/Leon编辑/cc孙聪颖6月9日,美团在北京美团总部恒电大厦举行股东周年大会,美团创始人、CEO王兴携一众高管出席。在回答股东问题的环节,王兴谈及与京东、淘宝闪购的竞争时表示:“第一,我们非常欢迎更多参与者入场的;第二,再次重申美团是坚决反对内卷的;第三,我们对长期是很有信心的。”然而,据自媒体《划重点》公开报道称,有参会股东透露,疑似提前安排好的问题和管理层全程读稿式的回答令部分现场股东感到不满。在会议结束后,现场股东将负责市场和投资的副总裁徐思嘉围了起来,在小会议室继续沟通了半个小时。不
    华尔街科技眼 2025-06-17 19:11 1067浏览
  • 中国汽车市场以年均超 3000 万辆的销量规模(占全球 1/3以上),正推动安全标准从被动防护向主动预防转型。2024 年 7 月实施的 C-NCAP ( China New Car Assessment Program)修订版首次将驾驶员监控系统(DMS)、道路特征识别(RFR)纳入评分体系,其中 DMS 占主动安全分值 40%(总分 2 分),检测准确率需≥90%。这一变革不仅响应工信部 GB/T 41796-2022 等三项国家标准要求,更标志着中国
    康谋 2025-06-18 10:25 1021浏览
  • 概述在工业自动化领域,PLC(可编程逻辑控制器)是生产过程的核心,其性能直接影响系统的稳定性和效率。然而,在多主站应用场景下,传统PLC往往面临诸多挑战,如协议兼容性不足、扩展性受限以及高昂的License费用,这些都增加了系统部署的复杂性和成本。宏集Berghof PLC基于CODESYS平台,凭借其强大的多主站支持能力和灵活的License选项,为工业控制提供了高效、灵活且经济的解决方案,助力企业优化自动化系统架构。传统PLC多主站应用的挑战在许多自动化应用中,设备需要同时支持多个通信主站,
    宏集科技 2025-06-19 10:58 1466浏览
  • Micro-OLED显示技术具有高刷新率、高亮度低功耗、小体积等特点,是微显示领域的优选方案。针对Micro-OLED CVBS显示驱动需求,上海冠显(TDO)设计的驱动方案,实现CVBS信号到Micro-OLED显示屏的稳定转换和显示控制,将满足行业对高质量、高性能显示解决方案的迫切需求,为XR、军工、工业及医疗等应用领域提供更优质的视觉体验。方案架构 显示屏驱动板TV103F1CSFS01 是TDO自主开发的单目硅基 OLED 显示屏驱动板,以 SH1.0连接器为 CVB
    冠显光电MicroOLED代理视涯 2025-06-18 16:32 2466浏览
  • 在竞争白热化的智能汽车赛道,深蓝汽车近期因一系列“迷之操作”,被舆论的熊熊烈火炙烤得焦头烂额。事情起因是,大量深蓝汽车老车主公开吐槽称,深蓝汽车在没经过车主同意的情况下在车机大屏幕投放广告。为此,深蓝汽车及其CEO邓承浩发文道歉,并表示:内部已进行了流程优化,未来将不再通过车机通道给用户推送权益提醒。不过,道歉后深蓝汽车对用户隐私条例进行了更新,主要新增了用户数据采集,如果用户不同意更新,则只能以游客身份访问App。所以又有网友辣评,“这是要强行让大家同意看广告?”对此,深蓝汽车法务部发文回应:
    用户1742991715177 2025-06-17 18:21 930浏览
  • 医疗数字化的昨天       今天,当我手拿着鼠标在电脑屏幕前面熟练的操作着中望3D软件制作3维立体模型的设计时,平面设计、3维规划、尺寸测量、漏洞修补、色彩渲染、浮点计算、仿真。。。这一系列的工程作图强大而复杂功能被安装在服务器的工程软件轻易的实现了。而对比在多年前我趴在制图桌子上,靠工程尺、圆规、计算器的辅助,做比这简单相似的工程制图工作不知道要方便、准确和快捷了多少。这就是数字化发展带来的显而易见的成果。      &n
    广州铁金刚 2025-06-17 09:46 22582浏览
  • 一、应用背景:为什么需要图像批量加水印?在电商、媒体和内容创作领域,加水印是保护图片版权的基本手段。防止盗图、转载、抄袭给公司 logo、作者信息、网址打标识批量图片一次性处理,提升效率如果每天需要对几十、上百张图片加水印,使用 PS 或手工拖拽会非常繁琐。Python 可以:✅ 一键批量加水印✅ 支持透明度、字体、颜色设置✅ 自定义水印位置与旋转角度✅ 批量输出为 JPEG、PNG 等格式二、准备工作与开发环境1. 安装核心图像处理库 Pillowbash复制编辑pip install pil
    小菜菜编程 2025-06-19 07:26 2495浏览
  • 概述相关API函数举例:定时发送一个事件总结概述ESP32有一组外设--定时器组。它可以选择不同的时钟源和分配系数。该定时器应用灵活,超时报警可以自动更新计数值。相关API函数1.定时器配置结构体typedefstruct { gptimer_clock_source_tclk_src; /* 定时器时钟源,在clk_tree_defs.h中有个枚举soc_periph_gptimer_clk_src_t */ gptimer_count_direction_tdirection;
    二月半 2025-06-17 16:39 14938浏览
  • 当数千伏工业电机快速启停时、当高速充电桩断电恢复时、当光伏逆变器遭遇雷击时,高压侧电路可能会因电感电流突变或浪涌耦合,产生幅值达母线电压数倍的电压尖峰。而在缺乏有效电气隔离措施或在寄生电容耦合作用的情况下,这些电压尖峰会迅速传导至低压侧电路,瞬间击穿MCU、传感器等敏感元器件,严重时还会威胁到操作人员的生命安全。因此,在现代电力电子系统的高低压电路之间引入隔离芯片,建立安全可靠的电气隔离屏障,已成多项安全标准与通用规范中的明确要求与刚性规定。其不仅能防止高压浪涌、短路漏电等不良现象损坏敏感元器件
    华普微HOPERF 2025-06-18 15:52 2523浏览
  • 一、项目背景与应用场景文件重命名在日常办公与设计领域极为常见:批量图片重命名(IMG001 → 产品01)批量 Word、PDF 改名(合同_张三 → 合同_2024张三)视频、音频素材整理命名规范化手工处理耗时、容易出错,而 Python 可助力一键处理,还能提供可视化界面!因此本篇文章将手把手带你使用 Python 的 Tkinter 模块开发一个功能完整的“批量重命名”桌面工具,附图演示界面效果。二、项目准备1. 安装环境Tkinter 是 Python 标准库,无需单独安装:bash复制
    小菜菜编程 2025-06-18 05:58 15591浏览
  • 在户外作业和复杂环境监测场景中,目标追踪需求、环境干扰因素和多变光线条件不断增加,传统光学观测设备面对画面模糊、响应延迟、信息缺失等问题时常难以应对。此时,显示技术的升级成为突破口——它不再只是单纯的“图像载体”,而逐步演变为“决策中枢”,成为设备智能化的核心支撑。其中,Fast LCD 通过其高速响应、高清显示、低功耗和优秀的环境适应性,成为瞄准镜、热成像等设备理想的显示方案,极大地提升设备性能和用户体验。上海冠显光电推出的Fast LCD 1.25" HDMI单目驱动方案,小巧紧凑,采用HD
    冠显光电MicroOLED代理视涯 2025-06-17 14:51 616浏览
  • 在RoCE v2协议中,RoCE v2队列是数据传输的最底层控制机制,其由工作队列(WQ)和完成队列(CQ)共同组成。其中工作队列采用双向通道设计,包含用于存储即将发送数据的发送队列(SQ)和用于存储已接收到的数据的接收队列(RQ),二者共同组成了端到端的数据传输管道(Pipeline)每一个SQ与RQ绑定起来称为队列对(QP),每个队列对中包含有若干个工作队列元素(WQE)和一些其他元素如本地接收队列指针、本地发送队列指针、远程接收队列指针、远程发送队列指针等。同样的,每一个CQ中也存在着若干
    zzbwx_326664406 2025-06-18 11:49 879浏览
  • 作为自然界最敏锐的“通用语言”之一,从破土而出的植物新芽到钢铁熔炉中的炽热火焰,温度一直都在无声地影响着万物运行的节奏,它不仅是农业播种与收获、牧业养殖与繁育、工业材料加工与产品制造等领域的关键生产因素之一,更是所有地球生物赖以生存的重要气候参数。因此,如何更好地“读懂”温度已成为各行各业实现提质增效的重要突破点之一,而数字温度传感器就是人类通过发展物联网技术让温度实现快速“说话”的重要途径。数字温度传感器是一种能直接输出数字信号的传感器,具有微型化、易集成、低功耗与高精度等优势,已被广泛应用于
    华普微HOPERF 2025-06-19 09:39 3029浏览
  • 随着智慧居家中与智能家电快速发展,各类产品纷纷透过无线技术和行动软件(APP)实现更智能的服务,让原本单一功能的产品,逐步进化变身为多功能且提供人性化功能的智能家电。本篇的主角-智慧居家门铃(Doorbell),正是其中具代表的应用之一。智能门铃整合了传统门铃与对讲机功能,再加上摄影机的功能,进而成为新世代的智能产品!用户可以透过镜头,立即看到来访者并进行对话。更进阶的应用则是结合高分辨率的摄影机、无线连线与APP整合,让用户不再经由传统有线线路,即可远程实时了解门外的一切状况。实测案例本次案例
    百佳泰测试实验室 2025-06-19 13:42 1682浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦