![](https://img-blog.csdnimg.cn/47046b5784dc4780a1a9059fe95721a4.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32
文章平均质量分 96
本专栏以STM32标准库与HAL库进行对照讲解,并结合实际案例,帮助学习者从入门到精通。
修成真
修得本心,方能成真。
为学日益,为道日损。损之又损,以至于无为,无为而无不为。
我是一个默默学习的嵌入式修行者。
展开
-
【STM32】标准库与HAL库对照学习系列教程大全
STM32标准库与HAL库对照学习教程系列大全原创 2023-10-23 07:45:00 · 5429 阅读 · 3 评论 -
【Modbus】Modbus协议讲解
Modbus 是一种常用的工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成,常用于各种数据采集和过程监控。原创 2023-07-15 11:06:37 · 1139 阅读 · 0 评论 -
【CANopen】CANopen总线讲解
前面讲解了CAN总线的一些基础内容,这里来讲解一些在CAN总线的基础上提供的CANopen协议【STM32】标准库与HAL库对照学习教程十四–CAN总线CANopen 是在 CAL 基础上开发的,使用了 CAL 通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen是CAN的一种应用层协议。CANopen 的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。原创 2023-04-05 17:55:04 · 8825 阅读 · 1 评论 -
【STM32】标准库与HAL库对照学习教程十四--CAN总线
CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898,我简称519,898),是国际上应用最广泛的现场总线之一。差分信号需要两根信号线,通过两根信号线的电压差值来表示逻辑 0和逻辑 1。差分信号有 抗干扰能力强,少电磁干扰的优点。原创 2023-04-03 13:57:41 · 6349 阅读 · 11 评论 -
【STM32】标准库与HAL库对照学习教程零--开发环境的搭建
【STM32】标准库与HAL库对照学习教程零--开发环境的搭建一、keil5的下载与安装1、keil5的下载2、keil5的安装3、keil5的破译4、keil5的软件包安装二、STM32Cube 的下载与安装1、JAVA 运行环境安装2、cubemx安装3、安装相关芯片HAL库一、keil5的下载与安装1、keil5的下载下载 Keil5 方法:进入 https://www.keil.com/网址1.1 点击 Downloads,如图所示:1.2 然后点击 MDK-Arm,如图所示:1.原创 2022-05-03 19:05:54 · 3324 阅读 · 3 评论 -
【STM32】标准库与HAL库对照学习教程十三--软件IIC控制AT24C02
【STM32】标准库与HAL库对照学习教程十三--软件IIC控制AT24C02一、前言二、准备工作三、AT24C02(EEPROM)介绍1、简介2、引脚功能3、设备地址四、硬件图五、标准库控制AT24C021、实验程序2、实验效果六、HAL库控制AT24C021、cubemx配置工程主要步骤2、实验程序3、实验效果一、前言本篇介绍如何使用软件IIC对AT24C02进行数据的读写操作,通过标准库与HAL库的对比,希望能让您了解使用IIC控制外设的一般步骤,希望本篇文章对您能有所帮助。工程配置在前面已经配原创 2021-12-09 20:15:35 · 5448 阅读 · 14 评论 -
【STM32】标准库与HAL库对照学习教程特别篇--IIC通信原理讲解
【STM32】标准库与HAL库对照学习教程特别篇--IIC通信原理讲解一、前言二、IIC总线介绍三、IIC物理层四、IIC协议层1、通信大致流程:2、传输过程3、信号要求五、使用C语言实现IIC1、起始信号与停止信号2、应答信号、非应答信号与等待应答信号3、发送一个字节数据与接收一个字节的数据六、设备间使用IIC的大致流程一、前言IIC通信作为单片机经常使用的通信协议,有着十分重要的地位,我们经常使用IIC通信驱动各种外设。IIC在使用上有软件IIC与硬件IIC。软件IIC是指用单片机的两个引脚模拟出原创 2021-12-08 21:56:38 · 6137 阅读 · 9 评论 -
【STM32】标准库与HAL库对照学习教程外设篇--超声波测距传感器
【STM32】标准库与HAL库对照学习教程外设篇--超声波测距传感器一、前言二、准备工作三、超声波测距传感器1、原理说明2、使用说明四、标准库使用传感器1、实验程序2、实验效果五、HAL库使用传感器1、cubemx主要配置2、实验程序3、实验效果一、前言本篇介绍如何使用STM32控制超声波传感器,方法可以使用STM32的 定时器计数或者输入捕获功能,本篇使用的是定时器中断。有关定时器的知识在:【STM32】标准库与HAL库对照学习教程七–定时器中断中有详细说明。本篇使用串口将测试的距离打印在电脑,原创 2021-12-07 21:30:00 · 6398 阅读 · 23 评论 -
【STM32】标准库与HAL库对照学习教程外设篇--红外避障传感器
【STM32】标准库与HAL库对照学习教程外设篇--红外避障传感器一、前言二、准备工作三、红外避障传感器1、传感器原理说明2、传感器特性四、标准库使用红外传感器1、实验程序2、实验效果五、HAL库使用红外传感器1、cubemx的主要配置2、实验程序3、实验效果一、前言本篇介绍如何使用STM32控制红外传感器,方法有软件控制与IO口中断控制,本篇使用IO口中断的形式检测红外传感器的信号并控制LED灯闪烁。关于LED的使用与外部中断的使用与配置在:【STM32】标准库与HAL库对照学习教程三–使用库函数原创 2021-12-06 17:04:11 · 12717 阅读 · 26 评论 -
【STM32】标准库与HAL库对照学习教程外设篇--按键控制
【STM32】标准库与HAL库对照学习教程外设篇--按键控制一、前言二、准备工作三、按键介绍四、硬件图五、标准库控制按键六、HAL库控制按键一、前言本篇介绍关于如何使用STM32控制按键,并使用标准库与HAL库同时配置按键以增加您对按键的理解,希望对您有所帮助。本篇讲解的是使用软件控制按键,关于使用中断控制按键,可以参考这篇文章:【STM32】标准库与HAL库对照学习教程五–外部中断详讲与配置二、准备工作STM32开发板(我用的是普中的STM32F103ZE开发板)cubemx软件、keil原创 2021-11-30 19:31:05 · 2129 阅读 · 4 评论 -
【STM32】标准库与HAL库对照学习教程外设篇--蜂鸣器
【STM32】标准库与HAL库对照学习教程外设篇--蜂鸣器一、前言二、准备工作三、蜂鸣器简介四、硬件图五、标准库驱动蜂鸣器六、HAL库驱动蜂鸣器一、前言本篇文章是对STM32驱动蜂鸣器的讲解,通过原理的简单介绍与工程的配置,能让您快速掌握蜂鸣器的使用。二、准备工作STM32开发板(我用的是普中的STM32F103ZE开发板)cubemx软件、keil 5(MDK)开发板原理图三、蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。蜂鸣器在结构上分为:压电式蜂鸣器和电磁式蜂原创 2021-11-29 19:00:06 · 5550 阅读 · 4 评论 -
【STM32】标准库与HAL库对照学习教程十二--DAC数模转换
【STM32】标准库与HAL库对照学习教程十二--DAC数模转换一、前言二、准备工作三、DAC介绍1、DAC简介2、STM32F1中的DAC介绍3、STM32F1中的DAC特性四、DAC结构框图五、DAC工作解析 1、电压输入部分 2、DAC转化部分 3、DAC触发部分 4、DAC输出部分 六、标准库配置DAC输出电压1、配置步骤2、配置工程3、实验程序4、实验效果七、HAL库配置DAC输出电压1、配置工程2、常用函数3、实验程序4、实验效果一、前言本篇使用的是STM32F1开发板进行DAC实验,原创 2021-11-26 22:00:00 · 2528 阅读 · 1 评论 -
【STM32】标准库与HAL库对照学习教程十一--ADC模数转换
【STM32】标准库与HAL库对照学习教程十一--ADC模数转换一、前言二、准备工作三、ADC简介四、STM32F1中的ADC1、STM32F1中的ADC介绍2、ADC的结构框图3、ADC结构解析(1)引脚输入电压(2)输入通道(3)转换通道(4)ADC触发源(5)ADC时钟与转换时间(6)对齐方式(7)中断五、ADC的转换模式1、单次转换2、连续转换3、扫描模式4、间断模式六、硬件电路七、标准库配置ADC实验1、配置步骤2、配置工程3、实验程序4、实验效果八、HAL库配置ADC实验1、使用cubemx配置原创 2021-11-25 22:20:30 · 4290 阅读 · 4 评论 -
【STM32】标准库与HAL库对照学习教程十--输入捕获实验
【STM32】标准库与HAL库对照学习教程十--输入捕获实验一、前言二、准备工作三、输入捕获介绍1、简介2、原理四、输入捕获结构1、映射表2、结构图五、输入捕获寄存器位(1)ICF[3:0](2)CC1S[1:0](3)ICPS[1:0](4)CC1P(5)CC1E六、硬件电路七、标准库配置输入捕获1、配置步骤2、配置工程3、实验程序4、实验效果八、HAL库配置输入捕获1、使用cubemx生成工程2、相关函数3、实验程序4、实验效果一、前言本篇文章是对定时器功能中的输入捕获功能的讲解与配置,本篇从输入捕原创 2021-11-24 16:03:28 · 8328 阅读 · 19 评论 -
【STM32】标准库与HAL库对照学习教程九--PWM输出呼吸灯
【STM32】标准库与HAL库对照学习教程九--PWM输出控制呼吸灯一、前言二、准备工作三、PWM简介1、PWM介绍2、PWM原理(1)原理图(2)原理简介3、PWM控制电压大小四、STM32的PWM1、工作原理2、PWM的输出模式3、PWM的对齐模式五、控制PWM的寄存器1、STM32F1上的PWM结构图2、控制PWM的寄存器(1)TIMx_CCMR1(2)TIMx_CCER六、PWM的复用引脚七、标准库配置输出PWM呼吸灯1、配置步骤2、配置工程3、实验程序4、实验效果八、HAL库配置输出PWM呼吸灯1原创 2021-11-22 21:59:04 · 8554 阅读 · 21 评论 -
【STM32】标准库与HAL库对照学习教程八--串口通信详解
【STM32】标准库与HAL库对照学习教程八--串口通信详解一、前言二、准备工作三、通信的基本概念1、通信方式2、串行通信与并行通信(1)串行通信(2)并行通信3、异步通信与同步通信(1)异步通信(2)同步通信4、单工、半双工与全双工通信(1)单工通信(2)半双工通信(3)全双工通信5、通信速率四、STM32F1的USART介绍1、串口通信简介2、USART简介3、USART结构框图4、USART寄存器重点控制位(1)TXE(2)TC(3)RXNE5、STM32与PC主机通信的方法五、USB转串口模块六、标原创 2021-11-21 15:56:51 · 14881 阅读 · 17 评论 -
【STM32】标准库与HAL库对照学习教程七--定时器中断
【STM32】标准库与HAL对照学习教程七--定时器中断一、前言二、准备工作三、定时器介绍1、定时器简介2、基本定时器的功能3、通用定时器的功能4、高级定时器的功能5、总括四、定时器计数模式1、向上计数模式2、向下计数模式3、中央对齐模式(向上/向下计数)五、定时器结构框图1、定时器在时钟树的位置2、基本定时器的结构框图3、通用定时器的结构框图4、高级定时器的结构框图六、标准库配置定时器中断1、通用定时器配置步骤2、配置工程3、文件内的程序4、实验效果七、HAL库配置定时器中断1、使用cubemx配置工程2原创 2021-11-18 22:09:43 · 7918 阅读 · 8 评论 -
【STM32】标准库与HAL库对照学习教程六--位带操作
【STM32】标准库与HAL库对照学习教程六--位带操作一、前言二、准备工作三、位带介绍四、位带区与位带别名区地址转换五、GPIO的位带操作六、标准库位带操作1、工程配置2、实验效果七、HAL库位带操作1、配置工程2、实验效果八、位带操作优点一、前言本篇文章讲解**位带以及位带的操作**,通过位带操作可以**极大简化IO的操作**,以使用位带操控LED灯为例,通过本篇文章可以加深你对位带的理解。二、准备工作STM32开发板(我使用的是普中的STM32F103ZE的Z200系列)STM32cube原创 2021-11-17 21:30:00 · 6433 阅读 · 9 评论 -
【STM32】标准库与HAL库对照学习教程五--外部中断详讲与配置
【STM32】标准库与HAL库对照学习教程五--外部中断一、前言二、准备工作三、STM32的中断系统1、中断理解2、STM32的中断3、NVIC的介绍4、中断优先级5、中断配置大致步骤6、NVIC结构体四、外部中断1、外部中断介绍(1)EXTI简介(2)EXTI结构框图(3)外部中断/事件线映射的引脚2、外部中断步骤3、硬件电路五、标准库配置中断实验(按键中断实验)1、配置工程2、中断相关程序3、实验效果六、使用cubemx配置中断实验(按键中断实验)1、配置工程2、生成中断函数3、回调函数4、实验效果一原创 2021-11-15 18:58:48 · 6428 阅读 · 12 评论 -
【STM32】标准库与HAL库对照学习教程四--延时函数详解
【STM32】标准库与HAL库对照学习教程四--延时函数详解一、前言二、前期准备三、SysTick定时器介绍1、SysTick定时器简介2、SysTick定时器寄存器介绍(1) CTRL寄存器(2)LOAD寄存器(3)VAL寄存器(4)CALIB寄存器3、SysTick定时器的时钟来源5、SysTick定时器配置步骤四、标准库的延时1、标准库的配置步骤2、SysTick定时器配置程序3、主程序4、软件仿真步骤5、实验效果五、HAL库的延时1、HAL库的配置步骤2、SysTick定时器配置程序3、实验效果3、原创 2021-11-12 22:38:15 · 12663 阅读 · 10 评论 -
【STM32】标准库与HAL库对照学习教程三--使用库函数配置GPIO点亮LED灯
【STM32】标准库与HAL库对照学习教程三--使用库函数配置GPIO点亮LED灯一、前言二、准备工作三、LED硬件电路四、使用标准库工程点亮LED灯1、GPIO初始化一般步骤2、GPIO标准库函数介绍3、使用库函数编写程序使LED灯闪烁操作4、实验效果五、使用cubemx生成HAL库工程点亮LED灯1、cubemx配置生成工程2、HAL库控制函数介绍3、编写使LED灯闪烁的程序4、实验效果一、前言本章主要介绍如何使用标准库工程与cubemx配置工程使LED灯闪烁,可以直接点击目录看自己想要看的内容,文原创 2021-11-10 22:30:08 · 8509 阅读 · 1 评论 -
【STM32】标准库与HAL库对照学习教程特别篇--GPIO详讲
【STM32】SMT32标准库与HAL库对照学习教程特别篇--GPIO详讲一、前言二、GPIO简介1、定义2、分类3、复用三、GPIO工作模式1、输入模式2、输出模式3、输出速度四、GPIO图形分析1、GPIO的基本构成2、GPIO八种模式分析五、HAL库与标准库的GPIO配置结构体对比1、标准库定义2、HAL库定义一、前言本篇内容是的STM32GPIO的详讲,是为库函数配置做铺垫,本篇以STM32F103ZE为例,详细对GPIO进行讲解。二、GPIO简介1、定义GPIO英文全称general p原创 2021-10-25 16:55:18 · 4800 阅读 · 6 评论 -
【STM32】STM32标准库与HAL库对照学习教程二--库函数模板创建
【STM32】STM32标准库与HAL库对照学习教程特别篇--库函数模板创建一、前言二、标准库函数模板创建1、新建模板文件2、新建工程添加文件3、配置魔术棒4、编译运行三、使用cubemx创建HAL库函数模板1、cubemx功能介绍2、cubemx配置生成文件3、写程序的要求四、两文件对比一、前言本章内容是使用库函数开发STM32的前提,以STM32F103zet6为例,本章分标准库配置和cubemx配HAL库两部分,可以在目录中选择自己想要看的部分,点击跳转就行了。二、标准库函数模板创建库函数建立原创 2021-10-24 07:30:00 · 4814 阅读 · 3 评论 -
【STM32】STM32标准库与HAL库对照学习教程特别篇--系统时钟RCC详讲
【STM32】STM32标准库与HAL对照学习教程特别篇--系统时钟RCC详讲一、前言二、时钟是什么三、时钟树1.时钟树图2.时钟树讲解左边部分中间部分右边部分特殊部分四、初始化系统时钟配置流程五、系统时钟程序实现六、HAL库中使用cubemx配置时钟树一、前言本篇讲解是对STM32系统时钟的细讲,其中包含自己对STM32系统时钟的认识,写的不对的地方希望多多包含并在评论区指出。对于STM32的初学者,推荐看完时钟树左中右三部分后,直接开始后面的学习,在学完STM32或者要用到配置系统时钟时,再来看后面原创 2021-10-21 20:50:26 · 2896 阅读 · 5 评论 -
【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲
【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲 前言本教程文章是我在学习STM32标准库和HAL库后写的,想通过标准库与HAL库的对照学习加强我对STM32的理解与使用,让自己对STM32的认识不只会停留在表面,出文章的目的是为方便自己记录以及相帮助跟多的人学习单片机,本篇文章先介绍寄存器的使用,在以后的章节中会使用库函数开发,有问题的地方希望大家在评论区指出。前期准备1、STM32F103(我用的是普中的Z200板)2、IDE Keil5(MDK-AR原创 2021-10-20 07:00:00 · 6831 阅读 · 7 评论