完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿,我在定义看门狗超时的时间段时遇到了一些问题。在数据表中,它表示WDTCON=0x19;意味着看门狗超时的时间段是4秒,但是它产生32秒。任何高于(0x19)的值将产生32秒的周期,低于该值的值将产生1秒或更短的超时周期。在硬件完成之后,它在蜂鸣(WTDCON=0x05;和触发2次唤醒)之间产生一个6s的超时周期,并且它有一个17秒的周期直到它复位(WTDCON=0x17和计数4次唤醒)。为了绕过错误周期的问题,解决方案是跟踪uC唤醒的时间,而不是立即执行操作,而是在几次唤醒之后执行操作。没错,但是硬件,实际上监视器并没有像预期的那样运行。由于它是一个应该大部分时间处于睡眠状态以节省电力的应用程序,因此需要对其进行优化。
|
|
相关推荐
6个回答
|
|
我想这行是想说明一下,它可能张贴过一次,没有代码标签,被损坏,然后再次张贴代码标签。
|
|
|
|
你肯定是因为WDT而不是重置而退出睡眠吗?您是否打算启用LVP?
|
|
|
|
正如Ric所说,shift8bits行是shift8bit(seg(i)),但是每当我试图发布代码时,论坛总是拒绝给我访问权限,所以我在没有代码标签的情况下发布文章,然后在评论之后使用适当的代码标签编辑文章。那一定触发了文章其余部分的斜体字体。是的,我确信PIC由于WDT而处于睡眠中断状态,因为我可以在更改WDTCON寄存器时控制这些时间。我的意思是,它们要么太长要么太短(32秒或2秒/更少)。至于LVP位,我的应用程序运行在单个硬币电池上,我想在不需要程序员提供能量的情况下对其进行编程,所以我认为有必要。这是错的吗?MCLR管脚没有拉到VCC,这是一个设计错误,需要在下一个版本中加以纠正,这可能会导致一些随机复位,但是电路板已经连续运行了5天,没有打嗝。
|
|
|
|
对。除非你确切知道LVP是什么,并且知道你需要使用它,否则就别管它。
|
|
|
|
我建议测试默认的WDT设置大约是2秒。只需评论WDTCon线。如果WDT超时是不正确的,那么我会建议测试,看看LFIFTSC是否在频率上。将CKKOUT配置位设置为ON,然后在OSCCon中清除IrCF设置,以启用LFETSOC。CLKOUT引脚应该有7750赫兹+/- 1500赫兹方波。如果你不测量这个范围内的频率,你可能会有一个坏的部分或一些干扰振荡器的外部条件。
|
|
|
|
根据我的测试,问题是UC睡着了。如果WDT的周期被改变,但UC保持清醒,它将与预期的间隔一起工作。如果UC睡着了,那么WDT的周期就不能很好地控制了。我在编辑上面的代码时注意到了这一点。如果只改变WDTCON寄存器,那么唤醒之间的时间段将保持不变,除非值太高并且跳转到34s的间隔。关于坏零件,我们有大约150个这样的板,它们都表现出相同的性能,所以要么是设计错误,要么是另一个问题。还有什么外部条件会干扰振荡器?
|
|
|
|
只有小组成员才能发言,加入小组>>
4814 浏览 9 评论
1823 浏览 8 评论
1743 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2949 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2055 浏览 5 评论
452浏览 1评论
1107浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
355浏览 0评论
260浏览 0评论
LAN9252使用SQI通信,进行数字复位后读BYTE_TEST异常
1777浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 07:18 , Processed in 1.036718 second(s), Total 74, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号