dirty123 发表于 2019-4-23 16:24:07

STM8S003F3 PWM无输出,求助问题出在哪里

//整体初始化
void BSP_Configuration(void)
{
    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//配置内部高速振荡器(HSI)的分频器--1分频
    GPIO_init();
    UART1_Congfiguration();//串口1初始化函数
    #ifdef CONTROL_RX
      TIM1_PWM_Init();
    #endif
    Tim2_Init();
    para_init();
    __enable_interrupt();//中断使能
}

void TIM1_PWM_Init(void)
{

    TIM1_DeInit();
    TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 1600, 0);   //初始化TIM1时基单元预分频值(0x0000)   向上计数   自动重装载值(2000)重复计数器值(0)
    //PC1 输出PWM波形
    TIM1_OC1Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 800, TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_RESET);   // PWM1模式2   启用互补输出比较   脉冲宽度初值是1000   输出比较极性(低电平) 互补输出比较极性 (低电平) 输出比较空闲状态(置位) 互补输出比较空闲状态(复位)      
    //PC2 输出PWM波形
    TIM1_OC2Init(TIM1_OCMODE_PWM2, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 800, TIM1_OCPOLARITY_LOW, TIM1_OCNPOLARITY_HIGH, TIM1_OCIDLESTATE_SET, TIM1_OCNIDLESTATE_RESET);
}

调用TIM1_SetCompare1(800);   但结果PC6脚无PWM输出 。知道的大神帮指导下,急待解决!芯片STM8S003F3 TSSOP20

butterflyspring 发表于 2019-5-21 11:40:50

建议你参考标准外设库的例程,这样就比较容易了。初步看来少了主输出控制:)。
/* TIM1 Main Output Enable */
TIM1_CtrlPWMOutputs(ENABLE);

xmshao 发表于 2019-5-22 17:40:23

/* TIM1 counter enable */
TIM1_Cmd(ENABLE);

/* TIM1 Main Output Enable */
TIM1_CtrlPWMOutputs(ENABLE);

ahao 发表于 2019-6-5 09:01:00

003F3要注意输出引脚的复用功能,如果你的PWM输出通道引脚刚好是复用的,请在烧录配置里选中复用引脚,这样引脚才能输出PWM。
页: [1]
查看完整版本: STM8S003F3 PWM无输出,求助问题出在哪里