红叶枫了 发表于 2015-6-2 13:54:36

跪求高人:STM8S105c6 PWM只有OCi输出,OCiN没反应

STM8S105c6做电机控制,PWM只有OCi输出,OCiN没反应。   单独测试PWM.
PB0 PB1 PB2 由 option byte 配置为定时器比较输出,下桥臂;PC1 PC2 PC2上桥臂。
   CMMRi=60 ,定时器运行,moe使能输出
   现在的问题是,上桥臂的pwm波形正常,频率、占空比、 高低有效都可控,但是下桥臂始终为低。
   反复查看option byte,配置了PBx为定时器比较输出。
   TIM1_CCERi ,都从0到F配置了个遍,上桥臂都会根据配置而变化,而下桥臂无动于衷。换了2个单片机,问题照旧。

    当把PB1/2/3配置为io输出, 可控高低输出,但PWM始终出不来。
   跪求解决方案,或者谁有105的pwm测试程序更好,要互补输出,



红叶枫了 发表于 2015-6-2 13:57:27

补充:BRK 刹车功能没有使能。

你好我好大家好! 发表于 2015-6-2 19:49:28

互补输出使能了没

laotui 发表于 2015-6-2 20:45:23

配置管脚为定时器输出管脚了吗?

红叶枫了 发表于 2015-6-2 23:18:50

配置管脚为定时器输出,我想是指option byte吧?确实配置好了。只是不知道能从代码里面确认否? tools-program 下面显示,确实配置好了。

互补输出使能,是指TIM1-CCERx吧? 高4位、低四位 我都从0-F全试过了。

比较奇怪的是,我今天又改了下,用stm8s903 可以正常输出,tim1的配置一字不变。OPTION BYTE做相应修改。另外,903用到了TIM5 TIM6, 105则改用TIM2 TIM4. 这两个定时器只是留着代码,main及中断中并未实际用到,实际运行的代码只用到了TIM1的部分。
      转眼好几天了,居然在这个地方出问题,头大。
      有大仙可以给个105 互补pwm的测试程序就好了。

红叶枫了 发表于 2015-6-3 00:53:23

这是一段血泪史,我不知道是我不懂操作还是为何,终于解决了。
    用STVP单独烧一次设置好的option byte ,
   再STVD 刷写就成功了。 有人知道是为什么吗? STVD里 option byte明明设置好了,应该在代码里实际却没有成功。
    早知道有这招就好了,苦逼了我个刚用ST的人。

星辰一方 发表于 2015-6-3 09:32:49

红叶枫了 发表于 2015-6-3 00:53
这是一段血泪史,我不知道是我不懂操作还是为何,终于解决了。
    用STVP单独烧一次设置好的option byte...

楼主可以试下IAR的,IAR可以直接配置选项字
页: [1]
查看完整版本: 跪求高人:STM8S105c6 PWM只有OCi输出,OCiN没反应