完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在学习PIC32MX795F12L中的看门狗定时器编程。如文档中所述,在启用wdt之后,它将根据后标器值自动清除和重置MCU。WDT使用LPRC振荡器,我试图通过它控制LED。我有PIC32启动器套件。在下面的程序中,我在启动时切换RD0,然后用标量后值将WDT初始化为8秒。然后在(1)中,我切换另一个LED并等待WDT超时。但问题是WDT永远不会超时。我做错了什么,但没有任何想法。
|
|
相关推荐
8个回答
|
|
我自己没有用过,我想你可能需要设置一次WDTCLR位来让它运行。
|
|
|
|
@ RICOK,我会再次尝试设置WDTCLR位。我想知道振荡器的情况。WDT使用LPRC振荡器。我们还需要使用PLL吗?时钟图没有显示任何与LPRC振荡器相关的PLL。
|
|
|
|
“再来一次”?你从来没有设置过它,没有与那个振荡器相关的PLL。
|
|
|
|
说到WDT,您必须看到这些保险丝设置,pragma config WDTPS=PS1048576pragma config FWDTEN=OFFWDTPS是您必须配置后标量的地方,而不是在WDTCON.SWDTPS(它是只读的字段,是保险丝设置WDTPS的影子副本)中。设置为最大(1048.576秒)!这就是为什么你的设备每8秒不重置的原因。将保险丝设置WDTPS设置为PS8,持续8秒。
|
|
|
|
@ric@Totem.我已经设置了WDTCLR,现在在8秒后MCU正在重置。我有疑问WDTCLR应该被用来清除我们不希望它超时的WDT。那为什么我们在开始设置它。它应该设置在代码中的某个地方,因为它将清除WDT。如果我不想等待WDT超时,我想在超时之前清除WDT。
|
|
|
|
设置WDTCLR被称作“踢看门狗”。这个过程直到你第一次踢它才开始。一旦你踢了,你必须以不到8秒的间隔继续踢它。每次踢都会重置计数。
|
|
|
|
谢谢,我已经做了更改,WDT正在工作。现在我想在UART中使用WDT接收数据,这样如果数据在8秒内没有收到,就重置MCU。在这种情况下,如何管理WDT。对于EX:在上面的代码中,我想放置WDT,以便如果在5秒内没有接收到A,则重置MCU。
|
|
|
|
WDTCLR与进程的开始无关,这是为了避免重置。要在启动时启动WDT,您只需要在保险丝设置中启用它,FWDTEN=ON.或者如果您不希望它在启动后立即启动,则保持此保险丝设置为OFF,并在您的p中通过WDTCON.ON启用WDT。程序。只要删除代码中的WDTCLR行,然后按照我的建议去做,然后看到您的设备仍然重置。请参阅http://www1.micro..com/downloads/en/DeviceDoc/61114E.pdf以了解关于WDT的更多信息。
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
596浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
678浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:35 , Processed in 1.274005 second(s), Total 93, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号