<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gmc832002的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gmc832002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gmc832002]]></copyright><item><title><![CDATA[我在高职教STM32（新26）——通用定时器输入捕获实验]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/156045540</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/156045540</guid><author>gmc832002</author><pubDate>Fri, 19 Dec 2025 20:50:10 +0800</pubDate><description><![CDATA[上一篇利用定时器的输出比较功能输出了精准的 PWM 波形，本篇我们聚焦输入捕获功能，利用该功能，测量按键按下的时长，即外部信号的低电平的脉宽。分为 4 个小节：1）输入捕获基本原理；2）实验任务描述；3）定时器的 HAL 库驱动；4）程序源码解析]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新25）——通用定时器PWM输出实验]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155985221</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155985221</guid><author>gmc832002</author><pubDate>Fri, 19 Dec 2025 07:27:58 +0800</pubDate><description><![CDATA[上一篇详细解读了通用定时器的功能框图，信息量较大，需要通过具体实验来加深理解。本篇是第 2 篇，我们使用定时器的输出比较功能，输出一个精准可控的 PWM 波形，并通过示波器来观察波形的参数，分 5 个小节：1）定时器的 PWM 工作模式和比较原理；2）实验任务描述；3）定时器的 HAL 库驱动；4）准备工程目录和文件；5）程序源码解析]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新24）——通用/高级定时器功能解读]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155916432</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155916432</guid><author>gmc832002</author><pubDate>Mon, 15 Dec 2025 08:16:48 +0800</pubDate><description><![CDATA[STM32F103 有 4 个通用定时器（TIM2~TIM5）和两个高级定时器（TIM1/TIM8），笔者计划用 4 篇文章（含 3 个实验）来系统学习通用定时器的各个功能。本篇是第 1 篇，立足手册，对通用定时器的功能框图和寄存器做一番解读，分为 2 个小节：1）通用/高级定时器概览；2）通用定时器功能框图详解]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新23）——基本定时器扫描按键]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155632377</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155632377</guid><author>gmc832002</author><pubDate>Mon, 08 Dec 2025 11:42:41 +0800</pubDate><description><![CDATA[本篇在上一篇基础上增加新的效果：启用基本定时器 TIM7，使其能够识别 KEY1 按键的单击、双击和长按这几种动作，并通过串口打印结果，效果如图 2 所示，该实验分为 4 个小节：1）按键动作编程要点；2）准备工程目录和文件；3）程序源码解析；4）下载测试和验证]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新22）——基本定时器呼吸灯]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155616214</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155616214</guid><author>gmc832002</author><pubDate>Mon, 08 Dec 2025 08:06:19 +0800</pubDate><description><![CDATA[呼吸灯实验我们在第 5 篇里做过，当时是用延时来模拟 PWM 的。关于主循环里延时过长的弊端，也在文中解释过了。因此，这里我们就改用基本定时器来实现，PWM 的控制都在 TIM6 的更新中断里完成，也是一种软件模拟的方式，但不需要延时了。本篇分为 3 个小节：1）准备工程目录和文件；2）程序源码解析；3）下载测试和验证]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新21）——基本定时器解读]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155503437</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155503437</guid><author>gmc832002</author><pubDate>Fri, 05 Dec 2025 19:32:18 +0800</pubDate><description><![CDATA[笔者计划用 3 篇文章来讲解如何使用基本定时器，并完成两个实验：第一个是将第 5 篇的呼吸灯用定时器重新实现一遍，改进之前纯靠延时的不足；第二个是检测按键的单击、双击和长按，这里面涉及到判断按下和松开的时长，用定时器是再合适不过了。本篇是第 1 篇，先详细解读一下基本定时器，分为 7 个小节：1）STM32 定时器总览；2）基本定时器功能框图；3）定时器周期计算；4）TIM6/TIM7 寄存器；5）基本定时器中断应用；6）定时器的 HAL 库驱动；7）定时器及中断配置步骤]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新20）——SysTick定时器与延时实现]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155502616</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155502616</guid><author>gmc832002</author><pubDate>Fri, 05 Dec 2025 08:05:30 +0800</pubDate><description><![CDATA[前面已经详细剖析了 SYSCLK、HCLK、PCLK1 和 PCLK2 的来龙去脉，后续绝大多跟时间有关的控制都可以追根溯源到这几个时钟，下面我们就来研究一下 delay() 延时函数是怎么实现的。本篇将分为 2 个小节：1）SysTick 系统滴答定时器；2）延时功能的源码解析]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新19）——STM32F1时钟系统配置]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155411133</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155411133</guid><author>gmc832002</author><pubDate>Mon, 01 Dec 2025 08:27:51 +0800</pubDate><description><![CDATA[上一篇针对 STM32F1 的时钟树，比较细致的介绍了其中的各个要点，尤其是时钟主线中各节点的时钟信号。本篇我们将分几步给大家讲解 STM32F1 时钟系统的配置过程，这部分内容很重要，请大家认真阅读，分为 4 个小节：1）配置 HSE_VALUE；2）调用 SystemInit 函数；3）编写时钟设置函数；4）外设时钟使能和配置]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新18）——STM32F1的时钟系统]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155376946</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155376946</guid><author>gmc832002</author><pubDate>Sun, 30 Nov 2025 09:41:14 +0800</pubDate><description><![CDATA[在我们继续深入学习之前，有必要了解 STM32 时钟系统的脉络，进而才能理解所有跟时间有关的机制和配置。笔者计划用 4 篇文章来详细解读 STM32F1 时钟系统的架构和配置，以及延时函数是如何精确控制的。本文是第 1 篇，先来剖析一下 STM32F1 的时钟树（系统），分为4 个小节：1）认识时钟树；2）时钟源；3）时钟分配；4）时钟主线]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新17）——串口通信实验解读]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155285852</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155285852</guid><author>gmc832002</author><pubDate>Sun, 30 Nov 2025 09:40:41 +0800</pubDate><description><![CDATA[经过前面 3 篇的铺垫，本篇就来完成一个串口通信的基础实验，有“打印”发送，也有消息接收，并详细剖析一下相关的源码。本篇分 3 个小节：1）实验任务描述；2）程序源码解析；3）测试与总结]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新16）——串口通信实验准备]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155170148</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155170148</guid><author>gmc832002</author><pubDate>Wed, 26 Nov 2025 15:31:14 +0800</pubDate><description><![CDATA[前两篇对 STM32 串口通信的背景知识做了详细的介绍，本篇是第 3 篇，在分析串口通信实验源码之前，我们先做好必要的准备工作，包括两个小节：1）串口的 HAL 库驱动；2）串口通信配置步骤]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新15）——STM32F103串口详解]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155139698</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155139698</guid><author>gmc832002</author><pubDate>Sat, 22 Nov 2025 22:59:39 +0800</pubDate><description><![CDATA[STM32F103 的串口资源相当丰富，功能也相当强劲。本篇是串口通信的第 2 篇，详细解读一下 STM32F103 的串口设计。分为 4 个小节：1）USART 和 UART；2）USART 框图；3）USART 寄存器；4）GPIO 引脚复用功能]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新14）——串口通信的必备知识]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/155132327</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/155132327</guid><author>gmc832002</author><pubDate>Sat, 22 Nov 2025 15:12:03 +0800</pubDate><description><![CDATA[串行通信，也就是我们常说的串口，是 MCU 最常用的一种通信技术，通常用于 MCU 和电脑之间、MCU 和 MCU 之间、MCU 与外围器件的通信。本章我们将学习 STM32F103 的串口，教大家如何用它来发送和接收数据。本篇是第 1 篇，我们来了解一下串口通信的一些必备知识，包含以下 3 个小节：1）通信的一些基本概念；2）串口通信的电气特性与逻辑协议；3）开发板与电脑之间的串口通信]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新13）——按键外部中断实验]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154908125</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154908125</guid><author>gmc832002</author><pubDate>Sun, 16 Nov 2025 14:20:26 +0800</pubDate><description><![CDATA[上一篇我们已经详细介绍了 NVIC，对 STM32F1xx 中断管理系统有个全局的了解。记住，只要用到 STM32 的中断，就一定绕不开 NVIC。在众多的中断向量中，本篇关注 EXTI（External Interrupt，外部中断/事件），是比较常用的一类中断。我们将学习如何把 IO 口作为外部中断输入来使用，重新实现按键控制 LED 的功能。本篇分为如下几个小节：1）从按键检测的方式谈起；2）EXTI 的响应过程；3）EXTI 的 HAL 库驱动；4）程序代码设计；5）下载测试与总结]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新12）——STM32中断概览]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154703735</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154703735</guid><author>gmc832002</author><pubDate>Sun, 16 Nov 2025 12:42:25 +0800</pubDate><description><![CDATA[某种程度上，中断可以说是嵌入式的“灵魂”，后续几乎所有实验都会涉及中断。因此，中断的讲解放在哪一个外设里面去讲都不合适，所以这里单独抽出一篇来做一个概括性的介绍，这样在其他外设涉及到中断部分知识的时候，就不用费很大的篇幅去讲解，只要示意性带过即可。本篇分为三个小节：1）中断的产生背景；2）STM32 强大的中断系统；3）NVIC 使用与中断编程要点]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新11）——LCD1602显示效果控制]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154543060</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154543060</guid><author>gmc832002</author><pubDate>Sat, 08 Nov 2025 20:40:26 +0800</pubDate><description><![CDATA[上一篇已经详细解读了 LCD1602 的驱动程序，本篇我们就来编写主程序，调用所需驱动做两个具体的显示效果：1）字符（串）跳动移动显示；2）按键连按计数显示]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新10）——LCD1602驱动程序分析]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154497675</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154497675</guid><author>gmc832002</author><pubDate>Thu, 06 Nov 2025 22:28:56 +0800</pubDate><description><![CDATA[本篇分析一下 LCD1602 的底层驱动代码，大家会学习到如何将 LCD1602 的工作时序进行分解并转换成对应的驱动函数，这个过程是嵌入式开发必须要经历的，并且会在接下来的项目中逐步强化。本篇分成两个部分：1）准备工程目录和文件；2）驱动源码分析]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新09）——LCD1602工作时序与基本命令]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154288064</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154288064</guid><author>gmc832002</author><pubDate>Sun, 02 Nov 2025 15:59:44 +0800</pubDate><description><![CDATA[本篇是 LCD1602 项目的第二部分，重点学习它的工作时序和基本命令，这是本项目的难点，也是编写驱动程序的基础，分四个重点来讲解：1）显示地址与字符位置；2）状态字节；3）读写时序；4）指令码与控制效果]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新08）——初识LCD1602]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/154243916</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/154243916</guid><author>gmc832002</author><pubDate>Sat, 01 Nov 2025 18:40:39 +0800</pubDate><description><![CDATA[本篇开始，我们来学习一下开发板配套的那块液晶屏 —— LCD1602，聚焦的是这个器件本身的特点和工作时序。由于 LCD1602 本身的知识比较多，因此笔者计划分成 4 篇内容进行讲解，这是第一篇，我们来初步了解一下 LCD1602，包含 3 个小节：1）LCD1602 的产品外观；2）LCD1602 的电气参数；3）LCD1602 的硬件接口]]></description><category></category></item><item><title><![CDATA[我在高职教STM32（新07）——按键输入实验]]></title><link>https://blog.youkuaiyun.com/gmc832002/article/details/153923620</link><guid>https://blog.youkuaiyun.com/gmc832002/article/details/153923620</guid><author>gmc832002</author><pubDate>Sun, 26 Oct 2025 17:21:30 +0800</pubDate><description><![CDATA[按键是初学嵌入式的第一类输入器件，入门不难，但是一旦按法多样化（单击/双击/长按），或是结合其他被控器件，就需要用上中断、定时器、状态机等知识，难度也就上来了。本章暂时还不谈这些知识，聚焦的还是 GPIO 的基本操作，用的是输入模式。开发板上一共有 4 个独立按键，我们将利用其中的两个，来控制 LED 的亮灭方式。本篇分为 4 个小节：1）认识按键开关；2）硬件原理分析；3）程序代码设计；4）下载验证测试]]></description><category></category></item></channel></rss>