1、STM32F031G6U6 PWM输出配置。
1.1其中单片机主频为48MHz。STM32 Cube的Time1Ch1配置PWM设置如下图:
其中频率和占空比计算方法如下
频率计算方法为f=主频/分频系数/装载值= 48Mhz/48/1000=1000Hz
占空比 = 脉宽值(Pulse)/装载值(Period)*100% =30/1000 * 100% =30%
1.2、如果PWM没有输出请检查下面几项:
- 定时器的时钟是否初始化。
- 初始化函数 HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
- 重新设置占空比使用以下函数 __HAL_TIM_SET_COMPARE
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, dutyCycle);
// TIM1->CCR2 = dutyCycle;
2、SW配置
当需要使用SW下载程序时候,需要进行以下配置
将Debug Serial Wire 勾选上。
3、串口配置
使用异步的方式
代码中需要使用Printf的话需要增加以下头文件以及代码
#include <stdio.h> //printf函数头文件
//使用Printf函数需要添加
int fputc(int ch,FILE *f)
{
HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,1000); //huart1是串口的句柄
return ch;
}