以后就养成习惯,用regs-XXX.h中定义了的相关位!!!! 不要自己往寄存器里填数字。用已定义的位来配置寄存器虽然麻烦点,但很好看啊 O(∩_∩)O哈哈~
今天又有点时间来处理下,以前残留的问题了!
PWM驱动,运行完就“死机”,或是,没有波形出来!
上午调了一段时间,把问题给解决了!
一方面,寄存器没有设置好!
这一点 是比较汗颜的!
这也是之前就,没有很好了解寄存器配置导致的!
初值,比较值,都要设置好!
然后,开始要手动更新,此时自动重装位也要启动的!,定时器也要start!
再然后,清除手动更新位;
有一位是TOUTn inventer on/off位, 这位其实就是配置输出的波形,要不要反个相! 目前的使用中,0/1都无所谓的!
最重要的是另一个问题:为什么会“死机”
这里要再次提醒自己的就是要有好的编程习惯!
系统中不是提供了很多屏蔽位嘛!
就先用那些屏蔽位嘛,把要更改的位先 与 成0;
然后在 或 的改成要改的值!!!!
造成死机的原因就是误改变了其他寄存器的值(这里误改变了TCON寄存器的值,把其他定时器给关了!)
大家都知道,串口的波特率是某定时器的溢出率给决定的! 相应的定时器都关了! 怎么会从串口读键盘的值呢! 就造成了死机的假象! 所以正确使用系统提供的屏蔽位是很关键的,防止与或时把其他位给改变了 !!