STM32
直播中

carey123

11年用户 1658经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[问答]

STM8S105C6 PWM不受寄存器控制的原因?

本来程序都调好了,电机也可以控制了。新作了PCB,刷程序后发现,pwm有输出,但是3个桥都输出互补信号,占空比可调。调试模式下,修改  CCER  CCMR 后,无论寄存器修改为什么值,但pwm输出保持原样,即使CCER设置禁止输出,pwm信号输出依旧。但BKR禁止输出有效,就是可以禁止所有输出,(LOCK为0) 。发现,在初始化中配置PWM输出模式,上电复位后,PWM输出就输出相应的波形,但之后再更改CCER等寄存器,输出不再变化。   实在不知什么原因,求解各位。

回帖(1)

hsdou月半

2024-5-13 18:09:00
STM8S105C6的PWM不受寄存器控制可能有以下几个原因:

1. 硬件问题:新制作的PCB可能存在焊接问题、布线问题或者元件问题,导致PWM信号无法正常控制。建议仔细检查PCB和元件,确保没有短路、断路或者焊接不良的问题。

2. 寄存器配置问题:在初始化PWM时,需要确保正确配置了相关的寄存器,包括CCER、CCMR等。如果配置错误,可能导致PWM输出不受控制。建议重新检查寄存器配置代码,确保按照STM8S105C6的数据手册进行配置。

3. 软件问题:程序中可能存在逻辑错误,导致PWM输出不受寄存器控制。建议仔细检查程序逻辑,确保在修改寄存器后,程序能够正确地更新PWM输出。

4. 寄存器锁定:STM8S105C6的某些寄存器具有锁定功能,需要先解锁才能进行修改。如果锁定了寄存器,即使修改了寄存器值,PWM输出也不会发生变化。建议检查是否有锁定寄存器的情况,如有需要,先解锁再进行修改。

5. 固件问题:如果使用的是STM8S105C6的固件库,可能存在固件库本身的问题。建议检查固件库的版本,尝试升级到最新版本,或者更换其他固件库进行测试。

6. 调试器干扰:在调试模式下,调试器可能会干扰PWM信号的输出。建议尝试在非调试模式下运行程序,观察PWM输出是否正常。

综上所述,要解决STM8S105C6的PWM不受寄存器控制的问题,需要从硬件、寄存器配置、程序逻辑、寄存器锁定、固件库和调试器干扰等方面进行排查。希望这些建议能帮助您找到问题的原因并解决。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分