STM8L051 PWM的问题?

2019-07-19 20:43发布

我想用STM8L051 的TIMER2产生PWM,程序如下:但出不了PWM信号,请各位帮我看看是什么问题,谢谢!


GPIO_Init(GPIOC,GPIO_Pin_5,GPIO_Mode_Out_PP_High_Fast);    //PC5:T2C1,OUT PWM
   GPIO_Init(GPIOB,GPIO_Pin_2,GPIO_Mode_Out_PP_High_Fast);    //PB2:T2C2,CHARGE PWM
       
/**************Timer2 init ****************************/
        /* Enable TIM2 clock */
        CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
        TIM2_TimeBaseInit(TIM2_Prescaler_128,TIM2_CounterMode_Up,100);       


        //设置TIM2 CH1,TIM2 CH2输出PWM
         TIM2_OC2Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,30, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//充电
        TIM2_OC1Init(TIM2_OCMode_PWM2, TIM2_OutputState_Enable,20, TIM2_OCPolarity_Low,TIM2_OCIdleState_Reset);//调光



        /* Set TIM1 Autoreload value*/
        TIM2_SetAutoreload(100);



/* Enable TIM2 Outputs*/
TIM2_CtrlPWMOutputs(ENABLE);
/* Enable TIM2 */
TIM2_Cmd(ENABLE);        




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
lpzxxsp
2019-07-20 15:10
今天用到这个模块,在初始化后面加上这三句话就可以了,把复用的功能映射到对应的IO即可,前提是
把#include "stm8l15x_syscfg.h"文件调用上,其他复用功能类同

SYSCFG_REMAPDeInit();
    SYSCFG_REMAPPinConfig(REMAP_Pin_TIM2Channel1,ENABLE);   //映射到PC5/PC6
   SYSCFG_REMAPPinConfig(REMAP_Pin_TIM2Channel2,ENABLE);   //映射到PC5/PC6

一周热门 更多>