//电机初始化
void MotorPWM_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period = 90-1; //周期40Hz=25ms
TIM_TimeBaseStructure.TIM_Prescaler = 1000-1; //设置预分频:即为72M/1000 = 72KHz
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分频系数:不分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数溢出模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
/*1,2通道*/
// TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //配置为PWM模式1
// TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
// TIM_OCInitStructure.TIM_Pulse = 0; //设置通道的电平跳变值,输出另外一个占空比的PWM
// TIM_OCInitStruct
002--STM32使用--TIM3的PWM输出
于 2021-03-01 11:40:49 首次发布
本文详细介绍了如何在STM32微控制器上配置TIM3以实现PWM输出。通过设置定时器寄存器,讲解了PWM模式的选择、频率设定、占空比控制等关键步骤,为嵌入式开发人员提供了清晰的操作流程。
摘要由CSDN通过智能技术生成