PWM驱动奇怪的问题,最终解决了!! 请保持良好的编程习惯!!!

以后就养成习惯,用regs-XXX.h中定义了的相关位!!!! 不要自己往寄存器里填数字。用已定义的位来配置寄存器虽然麻烦点,但很好看啊 O(∩_∩)O哈哈~

今天又有点时间来处理下,以前残留的问题了!

 

PWM驱动,运行完就“死机”,或是,没有波形出来!

 

上午调了一段时间,把问题给解决了!

 

一方面,寄存器没有设置好!

这一点 是比较汗颜的!

这也是之前就,没有很好了解寄存器配置导致的!

 

初值,比较值,都要设置好!

然后,开始要手动更新,此时自动重装位也要启动的!,定时器也要start!

 

再然后,清除手动更新位;

有一位是TOUTn inventer on/off位, 这位其实就是配置输出的波形,要不要反个相! 目前的使用中,0/1都无所谓的! 

 

最重要的是另一个问题:为什么会“死机”

 

这里要再次提醒自己的就是要有好的编程习惯!

 

系统中不是提供了很多屏蔽位嘛!

 

就先用那些屏蔽位嘛,把要更改的位先 与 成0;

然后在 或 的改成要改的值!!!!

 

造成死机的原因就是误改变了其他寄存器的值(这里误改变了TCON寄存器的值,把其他定时器给关了!)

大家都知道,串口的波特率是某定时器的溢出率给决定的! 相应的定时器都关了! 怎么会从串口读键盘的值呢! 就造成了死机的假象! 所以正确使用系统提供的屏蔽位是很关键的,防止与或时把其他位给改变了 !!

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值