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;
}