1. 项目概述:STM32F103C8T6呼吸灯实现原理
呼吸灯效果在电子产品中极为常见,从手机通知灯到电脑设备状态指示,这种明暗渐变的效果既能传递信息又不会造成视觉干扰。使用STM32F103C8T6这款性价比极高的Cortex-M3内核单片机实现呼吸灯,是嵌入式开发入门的经典练手项目。
这个蓝色小开发板虽然只有64KB Flash和20KB RAM,但内置丰富的外设资源。实现呼吸灯主要利用其通用定时器(TIM)的PWM输出功能,通过调节占空比改变LED亮度。相比简单的delay循环方案,硬件PWM方案不占用CPU资源,亮度变化更加平滑稳定。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计与电路连接
2.1 核心元件选型
主控芯片采用STM32F103C8T6最小系统板,其GPIO输出电流最大可达25mA,直接驱动普通LED无需额外电路。LED选择标准5mm草帽灯,工作电流建议控制在10mA以内。若使用高亮度LED,需串联适当限流电阻:
- 红色LED:正向压降约1.8-2.2V,配220Ω电阻(3.3V供电时电流约6mA)
- 蓝色/白色LED:正向压降约3.0-3.4V,配100Ω电阻(3.3V供电时电流约3mA)
注意:开发板上的LED通常已连接限流电阻,直接使用PA1、PA2等GPIO即可,无需外接电路。
2.2 PWM输出引脚配置
STM32F103C8T6的定时器通道与GPIO对应关系如下表:
| 定时器 | 通道 | 重映射前引脚 | 重映射后引脚 |
|---|---|---|---|
| TIM2 | CH1 | PA0 | PA15 |
| TIM2 | CH2 | PA1 | PB3 |
| TIM3 | CH1 | PA6 | PB4 |
| TIM3 | CH2 | PA7 | PB5 |
推荐使用TIM3_CH2(PA7)引脚,其默认功能就是PWM输出,无需重映射配置。连接方式:
- 开发板3.3V电源 → LED阳极
- LED阴极 → PA7引脚
- 若使用外部LED,需在3.3V与
