STM32 DMA 数据搬运实验记录:让 CPU 卸下搬运工的活
平台:STM32F103ZET6 @ 72MHz · 工程名 usart_dma · USART1(PA9=TX / PA10=RX)@ 115200 前置知识:USART 中断接收 + 环形缓冲区 + 协议帧(模块 2) 实验日期:2026-10-04 · 两个实验全部验收通过 一、实验背景:CP
STM32 定时器测量:输入捕获、编码器接口与高级定时器实验全记录
平台:STM32F103ZET6 @ 72MHz · 工程名 pwm_measure(一个工程跑完三个实验)· 串口 115200(UTF-8) 前置知识:模块 3A(时基、输出比较、PWM 呼吸灯) 引言:从“产生信号”到“测量信号” 模块 3A 让定时器输出信号(PWM 点灯),模块 3B 把方
串口协议帧设计
平台:STM32F103ZET6 @ 72MHz · USART1(PA9=TX / PA10=RX)· 115200-8-N-1 · LED=PB5 低电平点亮 前置知识:USART 中断接收 + 环形缓冲区 一、要解决的问题 printf 重定向解决了"怎么发",中断接收 + 环形缓冲区解决了"
数制与逻辑门速查
数电第一章速查卡片:从数制对照、奇偶校验到与、或、非及异或等八种逻辑运算,结合德摩根律、与非万能门与 C 语言位操作实例,一页表格带落数字逻辑核心知识。
环形缓冲区详解
环形缓冲区是中断与主循环之间的时差消化器:本文以串口接收为例,讲解 head/tail 双下标回绕、牺牲一格区分满空、volatile 加单一写者实现免锁并发,以及丢新/丢旧策略与 err 记账的完整实现。
2.4 编译产物与F5调试全流程
本文讲解如何通过 make 输出的 size 汇总确认编译成功并读懂 text/data/bss 对 Flash 与 SRAM 的占用,梳理 elf、hex、bin、map 四种编译产物的用途,并演示 F5 远程调试全流程:断点、单步、变量监视及寄存器读取等常用操作。
2.3 USART初始化配置与HAL发送函数
讲解 CubeMX 中 USART 的六个核心配置参数(波特率/字长/校验/停止位/模式/过采样)的原理,逐行解析生成的 MX_USART1_UART_Init 结构体与寄存器对应关系,并给出阻塞式发送函数 HAL_UART_Transmit 的流程、返回值与使用要点。
2.2 USART硬件架构与挂载使能总链路
一、六个标准问题 ① 挂哪条总线 USART1 挂 APB2(72MHz)。 回顾:F103 有三个 USART(大容量 ZET6 有 USART1/2/3 + UART4/5),总线分配不同: 外设 总线 时钟频率 本板用途 USART1 APB2 72MHz