mini板输出多路pwm信号,

2019-08-14 18:28发布

本帖最后由 流芷静兰 于 2017-8-5 20:27 编辑

直接在PWM输出实验的例程上改的,为什么总是输出不成功呢?
#include "pwm.h"

void TIM1_PWM_Init(u16 arr,u16 psc){           
  GPIO_InitTypeDef GPIO_InitStructure;      
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;      
  TIM_OCInitTypeDef  TIM_OCInitStructure;      


  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);      
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
                                                                                            
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //TIM_CH4      
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;         
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;      
  GPIO_Init(GPIOA, &GPIO_InitStructure);               

  TIM_TimeBaseStructure.TIM_Period = arr;        
  TIM_TimeBaseStructure.TIM_Prescaler =psc;        
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;        
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;        
  TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);        

  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;        
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;        
  TIM_OCInitStructure.TIM_Pulse = 0;      
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;      
  TIM_OC4Init(TIM1, &TIM_OCInitStructure);   

  TIM_CtrlPWMOutputs(TIM1,ENABLE);               

  TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable);   

TIM_ARRPreloadConfig(TIM1, ENABLE);
  TIM_Cmd(TIM1, ENABLE);  

   
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-08-14 23:27
说明配置有问题啊,论坛搜索,参考下别人代码,就知道哪里问题了
竹林的风
2楼-- · 2019-08-15 04:00
mini是PA11  有LED吗  如果你是外加LED或是检测  脉冲宽度调制模式我建议改成1
我是战舰板  不知道你的芯片的端口复用  还有重映射是怎样的   这些希望你注意

一周热门 更多>