平台
硬件平台:战舰板
芯片:stm32f103ze
环境:MDK5 +CubeMX
配置
1.时钟配置
时钟可以选择外部时钟,也可以默认为内部时钟,在clock configration中可以配置具体的时钟频率。
2.下载调试配置
需要用st_link在线调试的必须进行debug设置,否则在线调试时会报cannot access target …这样的错误。
3.PWM配置
首先要根据原理图找到对应的可以进行PWM的LED灯,这里是PB5,选择的是定时器3的2通道,时钟来源改为内部时钟,分频系数改为71(我们的系统时钟用的72MHZ),向上计数模式,周期数设为499,这样PWM的频率就是2KHZ,自动重装载使能,脉冲先设置一个200(也可以默认),如果后面不改变这个值,占空比就是40%,接着生成代码即可。
代码
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
while(pwmval < 500)
{
pwmval++;
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_2,pwmval);
HAL_Delay(1);
}
while(pwmval>1)
{
pwmval--;
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_2,pwmval);
HAL_Delay(1);
}
HAL_Delay(200);
}
声明好变量之后,开启PWM输出,在主函数中插入上面的代码即可编译下载,观察到LED的亮暗变化。