
STM32F1标准库快速入门
文章平均质量分 89
基于STM32F103ZET6,快速入门STM32F1标准库开发
hazy1k
日更嵌入式文章,涉及方面:STM32、CH32、CW32、C2000、MSPM0、STC51、K230、RA、RK、QT、RTOS
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32F1 RTC介绍及应用
本文介绍了STM32的RTC(实时时钟)模块及其应用。RTC是一个掉电后仍能继续运行的定时器,通过VBAT引脚供电保持计时。文章详细说明了RTC的工作原理、时钟源选择(推荐使用32.768KHz的LSE时钟),并提供了完整的代码实现示例。代码部分包括RTC初始化配置、时间戳转换函数以及主函数测试程序,展示了如何设置和读取RTC时间。此外还介绍了STD库中常用的RTC函数,包括备份域访问使能、时钟源选择、时间日期设置等操作流程。整个系统可实现从1970年开始的Unix时间戳计时,并通过串口输出当前日期时间信息原创 2025-08-27 17:42:01 · 1071 阅读 · 0 评论 -
STM32F1 FSMC介绍及应用
STM32F1系列使用FSMC(灵活的静态存储控制器)驱动外部存储器,如SRAM、NOR FLASH等,也可用于控制8080接口的液晶屏。FSMC通过配置时序结构体(FSMC_NORSRAMTimingInitTypeDef)和初始化结构体(FSMC_NORSRAMInitTypeDef)来管理存储器的读写时序,包括地址建立时间、数据保持时间等参数。FSMC支持4个存储区域(Bank1-Bank4),可通过扩展模式独立配置读写时序。在液晶屏应用中,FSMC的地址线与数据线复用特性简化了硬件设计原创 2025-08-27 17:37:40 · 946 阅读 · 0 评论 -
STM32F1 PWR介绍及应用
本文介绍了STM32微控制器的电源管理(PWR)功能,重点讲解了可编程电压检测器PVD和四种功耗模式(运行、睡眠、停止和待机)。文章提供了PWR应用示例代码,包括睡眠模式和停止模式的实现方法,展示了如何通过外部中断唤醒系统并处理低功耗状态。其中,睡眠模式示例通过按键触发模式切换,停止模式则演示了更低功耗的实现方式。这些技术可有效降低嵌入式系统功耗,适用于电池供电等场景。原创 2025-08-27 17:35:01 · 1099 阅读 · 0 评论 -
STM32F1 SDIO介绍及应用
SDIO接口技术及应用 摘要:本文介绍了SDIO接口技术及其在STM32微控制器中的应用。SDIO(Secure Digital Input/Output)是一种广泛用于存储卡和I/O设备的通信接口标准。文章详细讲解了STM32F10x系列控制器的SDIO初始化结构体,包括时钟配置(边沿选择、分频系数、节能模式)、总线宽度(1/4/8位)和硬件流控制等参数设置。同时介绍了命令初始化结构体(命令号、参数、响应类型)和数据初始化结构体(传输方向、数据块大小、超时设置)的配置方法。原创 2025-08-27 17:32:16 · 1136 阅读 · 0 评论 -
STM32F1 高级定时器介绍及应用
摘要:本文介绍了STM32高级定时器(ATIM)的基本原理和应用。主要内容包括:1)高级定时器简介,对比通用定时器增加了外部引脚和输入捕获/输出比较功能;2)详细解析了定时器初始化结构体(TIM_TimeBaseInitTypeDef、TIM_OCInitTypeDef等)的参数配置;3)以PWM互补输出为例,给出了具体实现代码,包括死区时间计算和断路功能实现。文章配有相关寄存器示意图和代码片段,适合嵌入式开发者参考学习高级定时器的应用。原创 2025-08-26 19:29:42 · 1052 阅读 · 0 评论 -
STM32F1 基本定时器介绍及应用
摘要:本文介绍了STM32F1系列基本定时器(TIM6/TIM7)的特性与应用。基本定时器为16位向上计数器,仅支持定时功能。通过初始化结构体TIM_TimeBaseInitTypeDef配置预分频器和周期值,可实现不同精度的定时功能。文中提供了1ms定时中断的配置示例,包括NVIC初始化、定时器设置和中断服务函数,并给出了常见应用场景的参数配置建议,如LED闪烁(500ms)、系统节拍(1ms)和高精度延时(1μs)。完整工程代码可在GitHub获取。原创 2025-08-26 19:26:57 · 417 阅读 · 0 评论 -
STM32F1 DAC介绍及应用
文章摘要:STM32 DAC模块可实现数字信号到模拟电压的转换,具有12/8位分辨率、双独立输出通道和DMA支持。通过配置GPIO、定时器触发和DMA传输,可高效生成正弦波等模拟信号。关键函数包括DAC初始化、数据写入、DMA/触发控制以及内置波形发生器(如三角波)。示例代码展示了硬件初始化流程,适用于音频还原等需要模拟输出的应用场景。原创 2025-08-26 19:24:03 · 426 阅读 · 0 评论 -
STM32F1 ADC介绍及应用
STM32 ADC模块应用指南 本文介绍了STM32F103系列微控制器的ADC模块及其应用。该系列包含3个12位精度的ADC,最多支持16个外部通道。内容涵盖ADC初始化结构体配置、独立模式单通道采集实例,以及相关硬件连接和软件实现。重点讲解了ADC_Mode、ScanConvMode等关键参数的设置方法,并提供了完整的代码示例,包括GPIO配置、中断服务和主函数测试流程。通过开发板上的滑动变阻器实验,演示了如何实现0-3.3V电压采集并通过串口输出的完整过程。原创 2025-08-26 19:21:48 · 1197 阅读 · 0 评论 -
STM32F1 SPI介绍及应用
本文摘要: SPI(串行外设接口)是一种高速全双工同步通信协议,使用SCK、MOSI、MISO三条总线和NSS片选信号线实现设备间通信。STM32的SPI外设支持主/从机模式、4种时钟模式及8/16位数据帧格式。文中详细介绍了SPI结构体的配置参数,包括数据传输方向、工作模式、时钟极性和相位等。示例部分展示了SPI驱动W25Q64 FLASH芯片的应用,定义了芯片参数、命令集和超时设置,如256字节页大小、4KB扇区大小及写使能、扇区擦除等操作指令。通过硬件引脚连接和软件配置,实现了SPI与FLASH存储器原创 2025-08-25 21:12:24 · 985 阅读 · 0 评论 -
STM32F1 I2C介绍及应用
STM32F1 I2C应用示例原创 2025-08-25 20:59:06 · 797 阅读 · 0 评论 -
STM32F1 DMA介绍及应用
DMA技术简介与应用 DMA(直接存储器存取)是STM32单片机的重要外设,可在不占用CPU资源的情况下实现数据传输。文章介绍了DMA的基本原理、初始化结构体配置方法及实际应用示例。DMA通过专用通道实现外设与存储器或存储器之间的数据传输,支持多种传输模式和数据宽度设置。文中详细解析了DMA_InitTypeDef结构体各成员的作用,并给出了存储器到存储器传输的具体实现代码,包括初始化配置、数据传输比较和结果验证。该技术可显著提高系统效率,使CPU在数据传输过程中能并行处理其他任务。原创 2025-08-25 20:53:10 · 696 阅读 · 0 评论 -
STM32F1 看门狗介绍及应用
摘要:本章介绍了STM32的两种看门狗(IWDG和WWDG)及其应用。IWDG通过12位递减计数器实现系统复位保护,需在超时前"喂狗";WWDG则要求程序在特定时间窗口内喂狗,提供更精确的监控。文中给出了初始化、喂狗等关键函数实现,并对比了二者特性:IWDG适用于常规任务监控,WWDG适合需要精确时间控制的场景。通过示例代码演示了如何配置和使用这两种看门狗功能来检测程序故障。原创 2025-08-23 18:07:10 · 752 阅读 · 0 评论 -
STM32F1 USART介绍及应用
本文介绍了STM32的USART串口通信功能及其应用。USART支持全双工异步通信,可通过两根信号线实现数据传输。文章详细讲解了USART的初始化配置、中断设置、数据收发函数实现,并提供了两个应用示例:数据中断回显和通过串口指令控制LED。配置过程包括GPIO设置、波特率配置、中断优先级分组等关键步骤。测试代码展示了如何发送字符串、实现接收中断回显以及重定向printf函数实现格式化输出。这些功能为设备调试和外部模块通信提供了简便方法,是嵌入式系统开发中的重要通信手段。原创 2025-08-23 17:48:27 · 689 阅读 · 0 评论 -
STM32F1 SysTick介绍及应用
本文介绍了ARM Cortex-M3内核中的SysTick系统定时器及其应用。SysTick是一个24位递减计数器,通常用于产生操作系统时基。文章详细讲解了SysTick的初始化配置、中断服务函数实现以及精确延时函数(微秒级和毫秒级)的编写方法,并提供了寄存器级操作示例。通过LED闪烁的主函数测试案例,展示了SysTick定时器在实际项目中的典型应用场景。最后给出了STD库中常用的SysTick操作函数及工程下载链接。原创 2025-08-23 17:44:57 · 431 阅读 · 0 评论 -
STM32F1 EXTI介绍及应用
EXTI外部中断应用简介 本文介绍了STM32的EXTI(外部中断/事件控制器)的基本原理及应用。EXTI管理20个中断/事件线,每个都可单独配置触发方式和模式(中断或事件)。通过初始化结构体EXTI_InitTypeDef可设置中断线、触发类型等参数。文中以按键触发为例,展示了完整的EXTI应用流程:包括宏定义配置、NVIC中断优先级设置、GPIO初始化、EXTI配置及中断服务函数编写。最后给出了主函数测试代码和EXTI基本配置步骤,实现了按键控制LED灯状态切换的功能。原创 2025-08-22 23:02:44 · 1067 阅读 · 0 评论 -
STM32F1 RCC时钟部分介绍及应用
本文介绍了STM32微控制器的RCC(复位和时钟控制)模块中的时钟系统配置。主要内容包括:通过HSE(8MHz外部晶振)经PLL倍频(9倍)生成72MHz系统时钟的流程;各总线时钟(APB1=36MHz、APB2=72MHz)的分频设置;USB、ADC、RTC等其他时钟源的配置方法;并提供了使用HSE作为系统时钟的示例代码,展示了如何初始化时钟树、配置PLL及总线分频系数。文中还讨论了HSE故障时自动切换至HSI(8MHz内部时钟)的容错机制及注意事项。原创 2025-08-22 22:59:05 · 985 阅读 · 0 评论 -
STM32F1 GPIO介绍及应用
本文介绍了STM32的GPIO(通用输入输出端口)基础知识及应用。主要内容包括:1) GPIO基本概念,作为STM32控制外部设备的接口,可实现通讯、控制和数据采集;2) GPIO的8种工作模式,分为输入(模拟/浮空/上拉/下拉)、输出(推挽/开漏)和复用功能三大类;3) 三个典型应用示例:通过GPIO输出控制LED灯闪烁、驱动蜂鸣器发声,以及通过GPIO输入检测按键状态来控制LED。每个示例均包含硬件连接图、宏定义和初始化代码。文章提供了完整的GPIO编程框架,帮助读者快速掌握STM32基本外设控制方法。原创 2025-08-22 22:55:07 · 1126 阅读 · 0 评论