
STM32单片机PWM调节LED亮度.rar
5星
- 浏览量: 0
- 大小:None
- 文件类型:RAR
简介:
本资源为STM32单片机PWM调光项目,通过改变PWM信号占空比实现LED亮度调节,适用于初学者学习嵌入式编程与硬件控制。
```c
void TIM2_IRQHandler(void)
{
static int i = 0;
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) // 检查指定中断源
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); // 清除中断标志
if (i == 0)
{
i = 1;
GPIO_ResetBits(GPIOC, GPIO_Pin_11); // 点亮 LED
}
else
{
i = 0;
GPIO_SetBits(GPIOC, GPIO_Pin_11); // 熄灭 LED
}
}
}
void TIM3_IRQHandler(void)
{
// 没有实现具体功能,保持为空函数定义。
}
void TIM4_IRQHandler(void)
{
static int j = 0; // 使用不同的变量名以避免冲突
if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET) // 检查指定中断源
{
TIM_ClearITPendingBit(TIM4, TIM_IT_Update); // 清除中断标志
if (j == 0)
{
j = 1;
GPIO_ResetBits(GPIOC, GPIO_Pin_12); // 假设使用不同的GPIO引脚,否则会与TIM2的LED操作冲突。
}
else
{
j = 0;
GPIO_SetBits(GPIOC, GPIO_Pin_12); // 熄灭 LED
}
}
}
```
以上代码重写时对TIM4中断处理函数进行了扩展和改进,假设使用不同的GPIO引脚以避免与TIM2的LED操作发生冲突。对于TIM3中断处理函数保持为空实现,因为原代码中没有具体功能定义。
全部评论 (0)


