赞
踩
本篇博客,使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果。
点击ACCESS TO MCU SELECTOR,在Part Number里选择我们的核心板(STM32F103C8)


勾选Internal Clock(内部时钟)
通道1选择:PWM Generation CH1(PWM输出通道1)
Prtscaler (定时器分频系数) : 71
Counter Mode(计数模式):Up(向上计数模式)
Counter Period(自动重装载值) : 500
CKD(时钟分频因子) :No Division (不分频 )

与TIME3相同

点击CLOCK CONFIGURATION,然后将HCLK改为72Mhz,点击回车



在main.c中定义一个全局变量
uint16_t pwm=0; //占空比

打开PWM通道:
在主函数中添加两行代码
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_1);

在while循环中写入调用代码
while (pwm< 500) { pwm++; __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwm); __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_1, pwm); HAL_Delay(1); } while (pwm) { pwm--; __HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_1, pwm); __HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_1, pwm); HAL_Delay(1); } HAL_Delay(200);

USB转TTL
3V3 —> 3V3
GND —> GND
RXD —> A9
TXD —> A10
LED灯连接
LED灯短脚 —> A6
LED灯长脚 —> 3V3
PB6 —> PC13

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。