OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4564|回复: 1

新手求助:想用stm32f407控制无刷电调,但用以下程序驱动不了无刷电机,希望有大神帮忙指点

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-7-29
在线时间
7 小时
发表于 2017-8-2 00:50:15 | 显示全部楼层 |阅读模式
1金钱


通用定时器时钟CK_INT=2*42M=84M

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-7-29
在线时间
7 小时
 楼主| 发表于 2017-8-2 00:51:18 | 显示全部楼层
本帖最后由 13215002263 于 2017-8-2 00:53 编辑

#include "stm32f4xx.h"
  
void TIM14_PWM_Init(void)
{                                                                                    
GPIO_InitTypeDef GPIO_InitStructure;         
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;        
TIM_OCInitTypeDef  TIM_OCInitStructure;     
           
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM14,ENABLE);          //TIM14时钟使能        
     RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);         //使能PORTF时钟  
                        
GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14); //GPIOF9复用为定时器14   
               
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;           //GPIOF9         
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;        //复用功能         
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;        //速度100MHz        
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;      //推挽复用输出         
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;        //上拉         
GPIO_Init(GPIOF,&GPIO_InitStructure);              //初始化PF9
                  
TIM_TimeBaseStructure.TIM_Prescaler=84-1;  //定时器分频         
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式      
  TIM_TimeBaseStructure.TIM_Period=20000-1;   //自动重装载值         
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;                  
TIM_TimeBaseInit(TIM14,&TIM_TimeBaseStructure);//初始化定时器14   
            
//初始化TIM14 Channel1 PWM模式                 
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //选择定时器模式:TIM脉冲宽度调制模式1        
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能        
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高         
TIM_OCInitStructure.TIM_Pulse=200;         
TIM_OC1Init(TIM14, &TIM_OCInitStructure);  //根据T指定的参数初始化外设TIM1 4OC1      
                                                                                       
}

  int main(void)
{                  
TIM14_PWM_Init();            
while(1) ;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 02:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表