
stm32基础教程
文章平均质量分 91
讲述stm32基础知识
叶与花语
热爱生活,热爱工作,在平凡的岗位上默默守护
展开
-
STM32开发(19)----CubeMX配置PWR电源管理
本章介绍使用STM32CubeMX对PWR进行配置的方法,PWR的原理、概念和特点,配置各个步骤的功能,并通过实验方式实现展示结果。电源对电子设备的重要性不言而喻,它是保证系统稳定运行的基础,而保证系统能稳定运行后,又有低功耗的要求。在很多应用场合中都对电子设备的功耗要求非常苛刻,如某些传感器信息采集设备,仅靠小型的电池提供电源,要求工作长达数年之久,且期间不需要任何维护;由于智慧穿戴设备的小型化要求,电池体积不能太大导致容量也比较小,所以也很有必要从控制功耗入手,提高设备的续行时间。原创 2023-03-12 17:56:12 · 3000 阅读 · 0 评论 -
STM32开发(18)----CubeMX配置RTC
本章介绍使用STM32CubeMX对RTC进行配置的方法,RTC的原理、概念和特点,配置各个步骤的功能,并通过实验方式验证。RTC (Real Time Clock),实质是一个 掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIM 外设,它十分简单,只有很纯粹的计时和触发中断的功能;但从掉电还继续运行的角度来说,它却是 STM32 中唯一一个具有如此强大功能的外设。所以 RTC外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。原创 2023-03-07 17:32:29 · 6629 阅读 · 8 评论 -
STM32开发(17)----CubeMX配置CRC
本章介绍使用STM32CubeMX对CRC进行配置的方法,CRC的目的是保证数据的完整性,所有的STM32芯片都内置了一个硬件的CRC计算模块,可以很方便地应用到需要进行通信的程序中。循环冗余校验(英语:Cyclic redundancy check,通称“CRC”)是一种根据网上数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。原创 2023-03-01 22:05:48 · 2935 阅读 · 6 评论 -
STM32开发(16)----CubeMX配置DMA
本章介绍使用STM32CubeMX对DMA进行配置的方法,DMA的原理、概念和特点,配置各个步骤的功能,并通过串口DMA传输实验方式验证。DMA(Direct Memory Access),即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路, 能使 CPU 的效率大为提高。STM32F103 内部有 2 个 DMA 控制器(DMA2 仅存大容量产品中), DMA1 有 7 个通道。原创 2023-02-28 11:12:36 · 6648 阅读 · 0 评论 -
STM32开发(14)----CubeMX配置ADC
本章介绍使用STM32CubeMX对ADC进行配置的方法,ADC的原理、概念和特点,配置各个步骤的功能,并通过单通道,多通道,DMA三种方式实现采集。ADC 即模拟数字转换器,英文详称 Analog-to-digital converter,可以将外部的模拟信号转换为数字信号。以下是datasheet当中的内容,我就做个搬运工,简单翻一下,大家可以配合datasheet学习,这样理解会更加深刻。原创 2023-02-25 22:57:10 · 14456 阅读 · 2 评论 -
STM32开发(15)----芯片内部温度传感器
本章介绍STM32芯片温度传感器的使用方法和获取方法。STM32 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度( 内部温度传感器更适合于检测温度的变化,需要测量精确温度的情况下,应使用外置传感器 )。对于 STM32F103来说,该温度传感器在内部和 ADC1_IN16 输入通道相连接,此通道把传感器输出的电压转换成数字值。温度传感器模拟输入推荐采样时间是 17.1us。STM32F103 内部温度传感器支持的温度范围为:-40~125 度。精度为±1.5℃左右。原创 2023-02-23 21:53:18 · 8134 阅读 · 0 评论 -
STM32开发(12)----CubeMX配置WWDG
本章介绍使用STM32CubeMX对窗口看门狗定时器进行配置的方法。门狗本质上是一个定时器,提供了更高的安全性、时间的精确性和使用的灵活性。STM32F1xx提供两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的障,重点掌握超时时间的计算,理解LSI温漂较大的使用场景,以及独立定时器的使用;独立看门狗没有喂狗导致超时就会复位,窗口定时器在规定刷新的窗口内可以喂狗,其他时间点喂狗都会复位,这个窗口的下限是确定的,上限是用户决定的。这是就是两个看门狗的最大区别。原创 2023-02-23 09:49:21 · 3103 阅读 · 2 评论 -
STM32开发(13)----获取唯一设备标识符UID
这一章节介绍如何获取STM32芯片中的唯一的ID号的两种方法。原创 2023-02-21 16:51:28 · 6579 阅读 · 1 评论 -
STM32开发(11)----CubeMX配置独立看门狗(IWDG)
本章介绍使用STM32CubeMX对独立看门狗定时器进行配置的方法。门狗本质上是一个定时器,提供了更高的安全性、时间的精确性和使用的灵活性。STM32F1xx提供两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的障,重点掌握超时时间的计算,理解LSI温漂较大的使用场景,以及独立定时器的使用;独立看门狗IWDG有一个输出端,可以输出复位信号。该定时器是一个 12 位的递减计数器,当计数器的值减到 0 的时候,就会产生一个复位信号。原创 2023-02-20 21:27:03 · 6864 阅读 · 0 评论 -
STM32开发(10)----CubeMX配置基本定时器
本章介绍使用STM32CubeMX对基本定时器进行配置的方法,STM32F103高性能系列设备包括基本定时器、高级控制定时器、通用定时器、看门狗定时器和 SysTick 定时器,但是STM32F103C6t6上资源比较有限(高级定时器TIM1,通用定时器TIM2和TIM3),没有真正的基本定时器,其实通用定时器和高级定时的功能是包含基本定时器的,因此如果没有使用到通用定时和高级定时的附加功能,也就是基本定时器了。原创 2023-02-13 10:18:56 · 6540 阅读 · 5 评论 -
ST-LINK V2出现internal command error或Flash download failed - Target DLL has been cancelled问题解决
ST-LINK V2出现internal command error或Flash download failed - Target DLL has been cancelled或者突然无法检测到该硬件。原创 2023-02-13 09:56:18 · 5031 阅读 · 2 评论 -
嵌入式开发----示波器入门
对于嵌入式工程师来说,示波器的使用极为重要,他就像是“电子工程师的眼睛”,把被测信号的实际波形显示在屏幕上,以供工程师查找定位问题或评估系统性能等,利用示波器能观察各种不同信号幅度随时间变化的波形曲线,还可以用来测试电量,如电压、电流、频率、相位差、调幅度等等。我们日常在调试各种总线通讯,捕捉电平信号时都会用到。前些天在二手市场淘到了一台示波器二手示波器,个人使用,这里写一个入门教程,这些使用方法都是比较常用的,可以覆盖日常90%的使用场景,最后把工作中常用示波器的场景和使用方法列举一下。原创 2023-02-12 11:06:02 · 7245 阅读 · 0 评论 -
STM32----搭建Arduino开发环境
本章介绍搭建STM32搭建Arduino开发环境,包括软件下载,安装配置,烧录下载等内容。本文介绍了搭建stm32的arduino开发环境,安装arm-none-eabi-g ++工具链、stm32库文件、烧录软件及开发板配置等。原创 2023-02-11 18:30:11 · 9077 阅读 · 0 评论 -
STM32开发(9)----CubeMX配置外部中断
本章介绍使用STM32CubeMX对引脚的外部中断进行配置,介绍了中断架构体系,外部中断/事件控制器(EXTI),嵌套向量中断控制器(NIVC),并通过实验展示配置后的效果。中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。中断可以分为系统异常(内部中断)和外部中断,内部中断是指中断信号来源是CPU内部,与当前执行的指令有关。外部中断信号的来源是CPU外部,与当前执行的指令无关。原创 2023-02-10 15:38:43 · 4711 阅读 · 0 评论 -
STM32开发(8)----CubeMX配置串口通讯(中断方式和DMA方式)
本章继续介绍使用STM32CubeMX对串口进行配置的方法,串口通讯有三种方式:轮询,中断和DMA,上一章节实现了重载printf功能和串口轮询接收功能,本章介绍中断和DMA方式,上一章节已经对串口进行了介绍,附有连接和烧录等过程,因此本章仅仅介绍CubeMX配置的方法,代码实现和实验结果。本章承接上一章对串口传输方式的配置,介绍使用STM32CubeMX配置串口中断和DMA两种传输方式方式,这里没有介绍中断和DMA的原理,接下来几章介绍中断原理和DMA原理。原创 2023-02-09 16:27:24 · 6013 阅读 · 0 评论 -
STM32开发(7)----CubeMX配置串口通讯(轮询方式)
本章介绍使用STM32CubeMX对串口进行配置的方法,因为我的最小系统没有其他外设,所以使用串口进行调试很重要,首先实现重载printf串口输出,然后实现串口通讯有三种方式:轮询,中断和DMA,接下来进行逐一介绍 ,本章接仅仅实现串口轮询接收和重载printf功能。通用同步异步收发器 (Universal Synchronous Asynchronous Receiver and Transmitter) 是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。原创 2023-02-08 21:53:36 · 4744 阅读 · 0 评论 -
STM32开发(6)----CubeMX配置PWM
本章介绍使用STM32CubeMX对PWM进行配置的方法,PWM的基本原理,并通过示波器来测试实现结果,如果有LED灯也可以,PWM控制LED灯的亮度。PWM(Pulse Width Modulation)脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制电流。原创 2023-02-07 16:40:36 · 12594 阅读 · 2 评论 -
STM32开发(5)----CubeMX配置GPIO
本章介绍使用STM32CubeMX对GPIO进行配置的方法,并通过控制LED灯亮灭的实现来展示配置效果,在进行实验前介绍了GPIO的相关知识。GPIOs (general-purpose inputs/outputs) 芯片通过GPIO引脚与外部设备连接用来实现信号采集或信号输出控制功能,即输入输出功能。STM32的GPIO它按组分配,每组 16 个(注意,如果芯片引脚有限,最后一组不一定满16个),组数视芯片而定,如stm32f103c6t6只有3组,且第三组PC只有PC13、PC14、PC15。原创 2023-02-06 15:14:30 · 6276 阅读 · 2 评论 -
STM32开发(4)----系统启动流程
本章介绍STM32系统启动流程的相关内容,包括对系统启动方式,启动汇编文件的分析,启动原理的介绍等。本章内容介绍了STM32三种常用的启动方式和系统启动引导的原理,然后介绍了启动文件的启动流程, 启动文件起到的作用:初始化堆栈指针,初始化中断向量表 ,在Reset_Handler中调用 SystemInit ,调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数进入C程序。原创 2023-02-05 14:52:10 · 2588 阅读 · 2 评论 -
STM32开发(3)----时钟树配置
上一篇介绍STM32CubeMX安装和使用时,涉及到了时钟树的配置,本章来来详细介绍一下STM32时钟树的配置和原理本章对STM32设备树的配置以及设备树的组成元素进行了介绍,时钟树在STM32中至关重要,也是其实现低功耗和EMC的关键。原创 2023-02-04 20:17:08 · 2907 阅读 · 0 评论 -
STM32开发(2)----CubeMX的安装和使用
本章对STM32CubeMX的安装和使用做简单介绍STM32CubeMX是一种图形化工具,它允许非常简单地配置STM32微控制器和微处理器,并通过逐步过程为Arm®Cortex®-M内核生成相应的初始化C代码,或为Arm™Cortex®-a内核生成部分Linux®设备树。STM32CubeMX 具有如下特性:① 直观的选择 MCU 型号,可指定系列、封装、外设数量等条件;② 微控制器图形化配置;③ 自动处理引脚冲突;④ 动态设置时钟树,生成系统时钟配置代码;原创 2023-02-03 17:22:08 · 8122 阅读 · 1 评论 -
STM32开发(1)----stm32f103c6t6开发板介绍和环境搭建
stm32f103c6t6 是一款基于 ARM Cortex M3 内核的 32 位通用微控制器芯片: STM32F103系列芯片,优异的性能,资源丰富,性价比超高,本文和后续教程选用stm32f103c6t6这款芯片的开发板是因为这款芯片成本较低,主频高达72Mhz,且具备非常丰富的片上资源,完全可以满足STM32学习的需求。最小系统是能够维持MCU工作的一个最精简的电路 ,最小系统一般由电源、外部复位电路、外部时钟电路以及MCU本体构成。我的开发板就是一个最小系统。原创 2023-02-02 15:44:04 · 39080 阅读 · 11 评论