本文实例说明:
这里是使用 TIM3_CH2输出 一个频率为50kHz; 占空比为50% 的PWM信号。
1先配置STM32CubeMX 参数,如图:
重点说明:
PWM 频率 = APB1 Timer clocks (MHz) / [(Prescaler+1) * (Counter Period+1)]
APB1 Timer clocks (MHz) :64MHz
Counter Period : 20
Prescaler :设置为64-1 那么此时PWM时钟设置为:
f = 64000000 / 64 /20 = 50KHz
Pulse :设置为10 ,也就是占比为:10/20 = 50%
Fast Mode:如果频率太高可以使能快速模式。可以大大提高PWM反应时间;同时将IO口输出速度调高。
2代码分析:
static void MX_TIM3_Init(void)
{
/* USER CODE BEGIN TIM3_Init 0 */
/* USER CODE END TIM3_Init 0 */
TIM_MasterConfigTypeDef sMasterConfig = {0};
TIM_OC_InitTypeDef sConfigOC = {0};
/* USER CODE BEGIN TIM3_Init 1 */
/* USER CODE END TIM3_Init 1 */
htim3.Instance = TIM3;
htim3.Init.Prescaler = 64-1;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 20-1;
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
{
Error_Handler();
}
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
{
Error_Handler();
}
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 10;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN TIM3_Init 2 */
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2); //启动PWM输出函数
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_2, 10);//这个函数可以设置占空比
/* USER CODE END TIM3_Init 2 */
HAL_TIM_MspPostInit(&htim3);
}
3实验现象:
上一篇:基于STM32的Keil和偏移地址程序存储
下一篇:STM32单片机如何处理QT上位机串口中发过来的数据?
推荐阅读最新更新时间:2026-03-20 12:16
- 使用 ON Semiconductor 的 FAN2518S 的参考设计
- LTC1530S8、3.3V/3A 稳压器
- 使用 ON Semiconductor 的 ADP3167 的参考设计
- 使用 Analog Devices 的 LT3420EDD 的参考设计
- 基于Kinetis® M的低成本单相电表参考设计
- LTC3708、具有上升/下降轨跟踪功能的 2.5V/15A 和 1.2V/15A 稳压器
- NXQ1TXH5插件板
- 应变仪仪表放大器
- WRL-13287,基于 ESP8266 802.11 无线局域网的 SparkFun Wi-Fi Shield
- 4.1W、3-LED 通用 LED 照明驱动器



网络分析仪8714使用方法简介
基于 X-Cube-FreeRTOS_Heap4 和 CubeMX 生成 UCPD 项目介绍
STM32使用stm32cubemx 写的tcp基础程序
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号