- 博客(15)
- 收藏
- 关注
原创 STM32入门之SPI协议
SPI(串行外设接口)是一种高速全双工同步通信总线协议,采用主从架构,通过MISO、MOSI、SCK和CS四线实现数据传输。协议支持四种通信模式(由CPOL和CPHA决定),通过片选信号寻址从设备,每次传输8/16位数据且无需应答。
2025-08-04 15:00:00
1970
原创 STM32入门之IIC协议
IIC总线是一种由飞利浦设计的双线制串行通信协议,采用SDA(数据线)和SCL(时钟线)实现设备间通信。物理层采用开漏输出,需外接上拉电阻,支持多主从架构。协议层规定了起始/停止信号、数据有效性、应答机制等,采用7位或10位地址寻址。STM32的IIC外设支持主/从模式、标准/快速模式,具有中断和DMA功能,通过专用寄存器实现时钟控制、数据收发和状态管理。该协议简化了集成电路间的短距离通信,广泛应用于嵌入式系统。
2025-08-04 10:08:05
1063
原创 STM32入门之DMA直接存储器存取
摘要:本文介绍了STM32F103的DMA(直接存储器存取)技术及其应用。DMA通过独立于CPU的控制器实现高速数据传输,支持外设与存储器、存储器间传输。文章详细阐述了DMA的传输要素、配置方法,并以存储器间数据搬运为例,展示了DMA初始化、传输配置和代码实现过程,最后通过串口输出验证了数据传输结果。
2025-07-28 23:01:14
890
原创 STM32入门之通用定时器PWM
STM32通用定时器由16位自动重装载计数器组成,支持输入捕获、输出比较及PWM功能。其内部结构包括时钟源、控制器、时基单元和输入/输出捕获单元。PWM通过调节脉冲占空比实现模拟控制,广泛应用于电机、LED等场景。
2025-07-24 22:04:23
2307
原创 STM32入门之TIM基本定时器
摘要:本文介绍了STM32F1系列单片机中的定时器功能及应用。通过一个LED闪烁实验演示如何配置基本定时器实现200ms定时功能,包括初始化设置、中断配置和代码实现。
2025-07-23 11:33:27
975
原创 STM32入门之USART串口收发器
文章摘要: 本文详细介绍了嵌入式系统中的通信概念与技术原理。以STM32的USART模块为例,详细说明了串口通信的数据帧结构(起始位、数据位、校验位、停止位)和配置步骤,并提供了完整的USART1通信实验代码实现,包括GPIO初始化、串口参数配置及数据收发流程。
2025-07-22 16:25:06
907
原创 STM32入门之EXTI外部中断
摘要: 中断是计算机处理异步事件的机制,当外设触发中断请求时,CPU暂停当前任务执行中断服务程序(ISR),完成后恢复原程序。STM32采用嵌套向量中断控制器(NVIC)管理中断,支持优先级分组(抢占优先级和子优先级),通过中断向量表快速跳转至ISR。
2025-07-21 11:35:43
810
1
原创 STM32入门之Systick系统嘀嗒定时器
摘要:SysTick是Cortex-M3内核内置的24位递减定时器,用于产生系统时基和周期性中断。通过控制状态寄存器、重装载值寄存器等4个关键寄存器实现定时功能,支持微秒和毫秒级延时。典型应用包括操作系统心跳节拍和精确延时,如控制LED闪烁。本章通过STM32示例展示了如何利用SysTick实现200ms周期性LED控制。
2025-07-20 17:37:48
816
原创 STM32入门之RCC时钟系统与时钟树
摘要:在ARM架构芯片中,为降低功耗,GPIO等外设默认处于断电状态。使用时需先开启时钟信号,为外设提供工作基准。STM32的时钟系统(RCC)通过5种时钟源(HSI/HSE/LSI/LSE/PLL)构建时钟树,经分频/倍频后为各模块提供不同频率的时钟信号。
2025-07-15 21:32:27
1041
原创 STM32入门之GPIO工作原理及配置
摘要:本文介绍了STM32芯片的GPIO基本概念、内部结构和工作模式。最后以点亮LED为例,详细说明了GPIO配置步骤:开启时钟、初始化GPIO、设置引脚电平,并给出了完整的代码实现流程。
2025-07-14 23:55:40
2042
原创 STM32入门之基于标准库的工程模板创建
本文介绍了STM32标准库文件结构解析与工程模板创建方法。标准库包含Libraries(CMSIS和外设驱动)、Project(示例工程)和Utilities等文件夹。工程模板创建步骤包括:1)建立本地工程目录结构;2)在Keil MDK5中新建工程并选择芯片型号;3)添加5个工程分组(user、startup等)及对应源文件;4)配置魔术棒选项,包括编译器版本、宏定义(STM32F10X_HD等)和头文件路径;5)修改main.c文件并完成编译。特别注意启动文件的选择需根据芯片Flash容量确定,同时正确
2025-07-14 14:46:55
1083
原创 STM32入门之标准外设驱动库获取
摘要:本文介绍了STM32的四种开发方式:寄存器直接编程(开发难度大但效率高)、标准外设库(平衡易用性与效率)、HAL库(易用性最佳但效率低)和LL库(折中方案)。随着国产芯片替代趋势,标准库开发方式仍有重要价值。文章还详细说明了从ST官网获取标准外设库的7个步骤,包括官网导航、版本选择、下载注册等操作流程。后续将补充HAL库开发介绍,帮助开发者适应不同开发需求。
2025-07-10 21:05:04
576
原创 STM32入门之芯片包获取和安装
摘要:MDK-ARM安装后需要额外安装芯片包才能开发STM32程序。芯片包可从Keil官网获取:进入Supported Microcontrollers→CMSIS Packs→搜索STM32型号(如F1系列)并下载。安装过程简单,只需双击下载文件并按照默认路径完成安装即可。芯片包安装后,MDK-ARM才能支持特定微控制器的开发。
2025-07-10 11:38:25
713
原创 STM32入门之MDK5下载安装
如何获取和安装MDK开发工具:最新版本可直接在Keil官网下载,填写简单信息即可获取;历史版本需通过Support页面选择,需要输入PSN编码(官网提供测试编码)。安装时注意路径不能含中文,避免编译错误。安装过程简单,只需同意协议、选择路径并填写基本信息即可完成。该工具主要用于ARM微控制器开发,学习用途可免费获取基础版本。
2025-07-09 16:26:31
753
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人