标题: 一个简单的STM32 pwm控制电机的例子 [打印本页]

作者: 杜鹃花的心脏    时间: 2019-10-30 09:21
标题: 一个简单的STM32 pwm控制电机的例子
pwm.c
motor.c内容

单片机源程序如下:
  1. #include "pwm.h"

  2. static void PWM_GPIO_Config(void)
  3. {
  4.         RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA,ENABLE);
  5.         GPIO_InitTypeDef  GPIO_InitStructure;
  6.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  7.         GPIO_InitStructure.GPIO_Speed =  GPIO_Speed_50MHz;
  8.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
  9.         GPIO_Init(GPIOA,&GPIO_InitStructure);
  10. }

  11. static void PWM_TIM_Config(void)
  12. {
  13.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
  14.        
  15.         TIM_TimeBaseInitTypeDef  TIM_TimeBaseInitStructure;
  16.        
  17.         TIM_OCInitTypeDef   TIM_OCInitStructure;
  18.        
  19.         TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
  20.         TIM_TimeBaseInitStructure.TIM_Period = (1000-1);
  21.         TIM_TimeBaseInitStructure.TIM_Prescaler = (72-1);
  22.         TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  23.         TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
  24.         TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);
  25.        
  26.         TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  27.         TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  28.         TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
  29.         TIM_OCInitStructure.TIM_Pulse = 500;
  30.         TIM_OC1Init(TIM2,&TIM_OCInitStructure);
  31.         TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable);
  32.        
  33.         TIM_Cmd(TIM2, ENABLE);
  34.        
  35. }

  36. void TIM_Init(void)
  37. {
  38.         PWM_GPIO_Config();
  39.         PWM_TIM_Config();
  40. }
复制代码

所有资料51hei提供下载:
pwm独立通道.7z (172.89 KB, 下载次数: 103)


作者: 伊森亨特    时间: 2021-6-25 15:41
stm32的pwm控制电机,控制的什么类型的电机?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1