OpenEdv-开源电子网

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

求助! STM32F0 TIM1 三路互补 PWM无输出 查不出问题

[复制链接]

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2015-7-30
在线时间
45 小时
发表于 2017-12-13 18:40:30 | 显示全部楼层 |阅读模式
50金钱
调试的时候看到:PA8 PA8  PA10有变化。
                         PB13 PB14  PB15无变化
1.PNG 2.PNG

void TIM1_PWM_Init(void )
{
        uint16_t TimerPeriod = 0;
        uint16_t Channel1Pulse =500, Channel2Pulse=500, Channel3Pulse=500;
       
        //下臂恒导通 上管调制 只配置上管PWM
        //使用SPIN32F0 TIM1-CH1-PA8  TIM1-CH2-PA9  TIM1-CH3-PA10   
       
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
    TIM_OCInitTypeDef       TIM_OCInitStructure;
       
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //使能定时器1时钟
       
        GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);         // 使能GPIOA时钟
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);         // 使能GPIOA时钟
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
       
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_2);
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_2);
        GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,GPIO_AF_2);
       
    TIM_TimeBaseStructure.TIM_Prescaler     = 2;                        //设置预分频值  48MHz /2 =24MHz
        TIM_TimeBaseStructure.TIM_Period        = 999;                        // 自动重装值         频率 24M/1000 =24KHz
    TIM_TimeBaseStructure.TIM_ClockDivision = 0;                        //设置时钟分割
    TIM_TimeBaseStructure.TIM_CounterMode   = TIM_CounterMode_Up;//向上计数
        TIM_TimeBaseStructure.TIM_RepetitionCounter=0;                        //*****
       
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);    //初始化定时器1

        //PWM初始化
    TIM_OCInitStructure.TIM_OCMode      = TIM_OCMode_PWM1;// PWM1模式
       
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//比较输出使能
        TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;//**********
       
    TIM_OCInitStructure.TIM_OCPolarity  = TIM_OCPolarity_High; //
        TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low;//**********
       
        TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
    TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;//**********
       
    TIM_OC1Init(TIM1, &TIM_OCInitStructure);
        TIM_OC2Init(TIM1, &TIM_OCInitStructure);
        TIM_OC3Init(TIM1, &TIM_OCInitStructure);
       

    TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);//使能预装载寄存器
        TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);//使能预装载寄存器
        TIM_OC3PreloadConfig(TIM1, TIM_OCPreload_Enable);//使能预装载寄存器


        TIM_OCInitStructure.TIM_Pulse = Channel1Pulse;        //chennel 1
        TIM_OC1Init(TIM1, &TIM_OCInitStructure);

        TIM_OCInitStructure.TIM_Pulse = Channel2Pulse;
        TIM_OC2Init(TIM1, &TIM_OCInitStructure);

        TIM_OCInitStructure.TIM_Pulse = Channel3Pulse;
        TIM_OC3Init(TIM1, &TIM_OCInitStructure);
               
      T IM_Cmd(TIM1, ENABLE);                          //  使能定时器1
       
        TIM_CtrlPWMOutputs(TIM1, ENABLE);
       
}



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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-14 00:51:41 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-12 22:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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