STM8S之TIM2_CH1输出不了PWM波解决办法

最近由于项目需要,用到STM8S103F3P6,开发方式采用库函数方式开发,编译环境为ST Visual Develop+Cosmic CxSTM8 32K 4.3.4。初始化PWM的程序如下:

void TIM2_Init(void)
{
    TIM2_TimeBaseInit(TIM2_PRESCALER_1, 999);/*1分频 ,计数值8000,频率=16M/8000=2kHZ*/
    /* PWM1 Mode configuration: Channel1 */
    /*TIM2 Channel1 duty cycle = [TIM2_CCR1/(TIM2_ARR + 1)] * 100 = 50 */
    TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE,500, TIM2_OCPOLARITY_HIGH);
    TIM2_OC1PreloadConfig(ENABLE);
    /* PWM2 Mode configuration: Channel2 */
    TIM2_OC2Init(TIM2_OCMODE_PWM2, TIM2_OUTPUTSTATE_ENABLE,500, TIM2_OCPOLARITY_HIGH);
    TIM2_OC2PreloadConfig(ENABLE);
    /* PWM3 Mode configuration: Channel3*/
    TIM2_OC3Init(TIM2_OCMODE_PWM2, TIM2_OUTPUTSTATE_ENABLE,500, TIM2_OCPOLARITY_HIGH);
    TIM2_OC3PreloadConfig(ENABLE);
    TIM2_Cmd(ENABLE);
}

结果在用逻辑分析仪去抓PC5脚一直抓不到信号,但是TIM2的CH3通道PD3脚却可以抓到信号。

原因是:我在STVP这个烧录软件里面,把PC5选成了SPI引脚,要选成定时器引脚才可以输出PWM。

更改为TIM_CH1模式,再次烧录,看实验现象,成功输出。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值