0%

从代码出发,整理链表的完整知识体系:节点与表头结构、头插尾插任意插、删除、无头节点的 dummy 技巧、单向循环链表、双向循环链表、约瑟夫环实战。

阅读全文 »

上篇用 ETR 直连的外部时钟模式二让定时器数外部脉冲;这篇把从模式剩下的三个选项走一遍:复位模式、门控模式、触发模式。配合之前的循迹开关实战,用串口观察三种模式各自怎么控制定时器,并讲解"复位触发"和"自动重载"的区分方法、单脉冲模式的作用。

阅读全文 »

用 VS Code + EIDE 插件把 Keil5 的 STM32F103 标准库工程完整迁移到 GCC 工具链,源代码一行不改:EIDE 直接导入 .uvprojx、自动解析宏和头文件路径、ARM GCC 编译、ST-Link 烧录。对比 EIDE / 手写 CMake / ST 官方扩展三条路线的取舍,含 4 个遇到的坑:STM32F10X_MD 设备选择宏、启动文件 ARMCC 与 GNU 语法差异、老 CMSIS 与 GCC14 的兼容问题、中文路径导致链接失败。

阅读全文 »

上篇用定时器数"内部脉冲"实现定时,这篇升级为数"外部脉冲"——用循迹模块(红外反射光电开关)扫过黑白条纹产生方波,接入 TIM2 的 ETR 引脚实现外部计数,做出一个传送带测距测速装置。包含外部时钟模式1/模式2 的硬件原理、CubeMX 配置、输入滤波器消除抖动、以及四种触发路径配置方式对比。

阅读全文 »

从"定时器就是计数器"的本质出发,讲解定时器的三个核心部件(预分频器、计数器、自动重装载计数器)与更新中断,用 TIM4 实现每 1 秒通过串口发送一次数据,附 CubeMX 配置与 MX_TIM4_Init 初始化代码逐行解析。

阅读全文 »

纯理论篇:为什么单片机需要时钟信号(门电路延时与竞争冒险)、时钟树全链路数据流(HSE→PLL→SYSCLK→HCLK→APB→PCLK→外设)、以及 SystemClock_Config 初始化代码的逐行解析

阅读全文 »