使用STM32和HAL库实现呼吸灯效果
创作时间:
作者:
@小白创作中心
使用STM32和HAL库实现呼吸灯效果
引用
1
来源
1.
https://www.cnblogs.com/hack747/p/18508491
本文将介绍如何使用STM32F103C8微控制器和HAL库实现呼吸灯效果。通过配置通用定时器生成PWM信号,可以控制LED的亮度变化,实现渐亮渐灭的效果。
硬件环境
- 开发板:STM32F103C8
- 仿真软件:Proteus 8
- 开发平台:STM32CubeMX + Keil
1. 新建STM32CubeMX工程
1.1 配置系统时钟RCC
1.2 配置定时器
这里使用PB3和PA15一对引脚。在TIM2定时器中,选择内部时钟作为时钟源,并配置通道1和通道2为PWM输出模式。
2. 代码实现
2.1 定义变量
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
2.2 主函数
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM2_Init();
/* USER CODE BEGIN 2 */
//启动定时器2通道1的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);
//启动定时器2通道2的PWM
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);
uint16_t pulse=0; /*占空比,重装载值设置为999*/
uint8_t flag=1; /*LED标志位,用于判断是渐亮还是渐灭*/
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if (flag==1) /*执行LED渐亮*/
{
if (pulse<1000)
{
pulse+=50; /*占空比增大*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
}
else
flag=0; /*切换为渐灭模式*/
}
else /*执行LED渐灭*/
{
pulse-=50; /*占空比减小*/
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,pulse); /*修改占空比*/
HAL_Delay(100);
if (pulse==0)
{
flag=1; /*切换为渐亮模式*/
}
}
}
}
通过上述配置和代码实现,可以成功实现LED的呼吸灯效果。这个项目展示了如何使用STM32的通用定时器生成PWM信号,并通过软件控制实现LED的渐亮渐灭效果。
热门推荐
尿频高发季:如何应对尿路感染?
咖啡因饮品与尿频:适量饮用是关键
解析科研项目管理系统,看其如何助力高效科研
Photoshop打造明暗对比让照片更有质感的后期修图方法
集体照大合影拍摄,合理站位的详细分析
集体照拍摄指南:9个关键步骤让合影更完美
拍摄精彩集体照的技巧与乐趣,记录珍贵的友情时光
刹车时如何正确踩离合器?踩离合器刹车时的注意事项有哪些?
开手动档车在紧急情况下急刹,刹车与离合一起踩,还是单独踩刹车
刹车故障灯亮应如何进行排查和处理?处理过程中需要注意哪些安全事项?
油烟机使用与维护全攻略:这些方法让设备更耐用
浙江高考语文必备:多音字和形声字记忆绝招
浙江新高考改革:十年探索,开创教育新局
2025浙江高考物理题型大变脸!考生:心态崩了
和田地委老干部局:银龄挥毫送祝福 纸墨年味迎新春
春节不想回家?这些沟通技巧帮你缓解家庭矛盾!
春节回家焦虑:新城市中产阶级的困境与突围
2025年提前回家过年潮:年轻人的自我救赎之路
集体照拍摄技巧:避免踩坑,轻松掌握!
集体照大合影拍摄实操要点,摄影高手都在用!
六堡茶真的能减肥?临床试验数据揭示真相
梧州六堡茶:千年茶香,历久弥新
六堡茶:一杯兼具养生与文化的健康饮品
秋冬喝六堡茶,养生正当时!
冬天裂脚怎么办?5招缓解裂脚
冬季高发皮肤病来袭,如何预防?
红茶菌的制作方法与步骤
红茶菌制作的茶叶选择:什么茶最适合红茶菌发酵?
奔富Bin 389与烟熏乳鸽:一场完美的味觉邂逅
《模拟人生4》养狗完全攻略:从领养到成为最佳拍档