你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教stm32f103的pwm波输出的问题

[复制链接]
创造与非的 提问时间:2017-11-20 14:47 /
源程序是控制TIMI的CH1通道输出PWM 波,使PA8连接的LED 由亮到灭。现在我想增加三路一样的输出。  程序如下:
  但是PA9,PA10,PA11,都没有输出是为什么。怎么改才可以呢?

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 | RCC_APB2Periph_AFIO , ENABLE);  //使能GPIO外设时钟使能++++++
                                                                                    

   //设置该引脚为复用输出功能,输出TIM1 CH1的PWM脉冲波形
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11;//TIM_CH1++++++++
        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; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值         80K
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  不分频
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位


        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //选择定时器模式:TIM脉冲宽度调制模式1+++++++++++++
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比较输出使能
        TIM_OCInitStructure.TIM_Pulse = 0; //设置待装入捕获比较寄存器的脉冲值
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性:TIM输出比较极性高
        TIM_OC1Init(TIM1, &TIM_OCInitStructure);  //根据TIM_OCInitStruct中指定的参数初始化外设TIMx
       
       
        TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;   // +++++++
  TIM_OCInitStructure.TIM_Pulse = 0;
  TIM_OC2Init(TIM1, &TIM_OCInitStructure);
  TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);

  TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = 0;
  TIM_OC3Init(TIM1, &TIM_OCInitStructure);
  TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);

  TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = 0;
  TIM_OC4Init(TIM1, &TIM_OCInitStructure);
  TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable);
       

  TIM_CtrlPWMOutputs(TIM1,ENABLE);        //MOE 主输出使能       
         

        TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);  //CH1预装载使能         +++++++
         TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);
       
        TIM_ARRPreloadConfig(TIM1, ENABLE); //使能TIMx在ARR上的预装载寄存器
       
        TIM_Cmd(TIM1, ENABLE);  //使能TIM1


}


收藏 评论5 发布时间:2017-11-20 14:47

举报

5个回答
创造与非的 回答时间:2017-11-20 14:52:03
wenyangzeng 回答时间:2017-11-20 15:13:02
TIM_OCInitStructure.TIM_Pulse = 0;
就没有输出了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zero99 回答时间:2017-11-20 15:21:03
楼主你板块发错了,下次注意
cheyao-207201 回答时间:2017-11-21 11:00:25
五哥1 回答时间:2017-11-22 12:35:23
你的设置是否如图一样? shezhi.jpg

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版