完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我刚在应用程序中打开了看门狗计时器,偶尔(过去6个小时有1次)会重置,这没什么意义。我的应用程序主循环在大约40-50KHz(当需要处理大数据包时为5KHz)下执行,我的看门狗有4秒超时。在打开看门狗之前,我从来没有经历过任何绞刑,所以我不知道为什么我会用显示WDT标志的RCON重新设置绞刑。其他人看到过这样的行为吗?谢谢,John Vickers
|
|
相关推荐
10个回答
|
|
|
在你清除WDT指令之后,你可以在你的循环中切换调试输出PIN。然后把这个引脚连接到某种记录器上。我会把一个10K电阻器和0.1uF电容器的输出连接到笔记本电脑的声卡输入,并开始录音。有足够的HDD自由空间,您可以记录一天的活动,例如,免费AddiWork软件。由于高速切换,您可能会从声卡的ADC获得别名。但很可能你不会错过沉默。
|
|
|
|
|
|
在MPLAB X中,当看门狗跳闸时,可以使调试器中断。这应该告诉你问题在哪里。该特性可能取决于您使用什么调试工具(我使用RealICE)。在运行调试器时出现的“断点”选项卡中,单击左上角的“创建新断点”按钮(绿色加号的红色正方形)。在出现的对话框中,选择“Event”作为顶部的断点类型,然后选择“Watchdog timer过期时中断”。
|
|
|
|
|
|
你试着记录最大主回路时间(没有看门狗)吗?你大约需要0.2MS(5千赫),这是你的最大值,你确定吗?在我的项目中,在一个主循环中,我使用SD卡只用几个字节的数据文件系统函数进行一次操作。我的主回路通常为1ms(=1kHz),但有时确实有巨大的尖峰,我无法解释。我第一次检测到这些尖峰花了0.5秒,但我意识到它们经常达到1.6秒,有时甚至更多。实际上,正因为如此,我把时间关键代码移到中断,并且只对时间不关键的东西使用主循环。
|
|
|
|
|
|
我不知道在看门狗上设置断点,这很有趣,我会试试看。通常我的调试器在长时间不活动之后会失去同步并停止工作,所以我不知道它是否会有帮助,但是我会试一下。这是我的主循环的图片,我每次都切换IO。长时间间隔就是当我的5KHz中断发生并驱动我的系统时。主回路实际上是在100kHz的正常运行。我刚刚设置了一个记录器来查看最大循环时间是什么,所以我稍后会用这个数据回调。John Vickers
|
|
|
|
|
|
所以它已经运行了几个小时,看门狗重置之间的最长时间小于1ms,没有重置。我会继续观察重置,但可能是因为别的原因造成的。John Vickers
|
|
|
|
|
|
有时是看门狗做它的工作。你可以禁用它,寻找一个冻结。你可以查看代码的任何部分,等待一些东西,而他们应该有一个失败超时。
|
|
|
|
|
|
我专门在没有等待的情况下编码所有东西。一切都是状态机驱动的。有等待状态,机器将停留在资源准备就绪之前,然后移动到下一个状态。等待状态只是一个检查,如果还没有准备好移动到下一个状态机,IE I no.()循环将等待某事发生。由于这个原因,我通常避免使用.()来支持循环。
|
|
|
|
|
|
关于Flash/EEPROM写.或其他可以加到一个循环中的操作。我听说Harmony文件系统有等待。尝试将WDT设置为8秒,看看它是否有影响。您还可以用确定最大WDT调用间隔的函数替换WDT cal。错误代码的和谐代码。
|
|
|
|
|
|
降低看门狗超时时间,看看是否能更频繁地产生问题。其他需要注意的事情是:损坏堆栈(胭脂指针)、堆栈溢出(堆栈太小)、使用堆内存并耗尽空间(不检查内存分配的返回值和/或不释放内存)。在等待同步时不使用volatile中断和主代码之间的操作标志(虽然您的状态机不应该因此而卡住,但是可能导致其他问题…)中断相关内容,例如不使用...CLR寄存器偏移量来清除寄存器中具有多个中断标志(原子性)的中断标志,其中用于不同的优先级,将中断设置为一个prio,但是将ISR标记为具有另一个prio,没有正确清除粘性(持久)中断标志,并且永远陷入ISR…/Ruben
|
|
|
|
|
|
在过去,我并行比较了使用微芯片文件系统和.-fs可以实现的各种SD卡的速度,我不记得确切的细节,但有些卡有非常长的块擦除延迟——超过800ms来清除4k或8k块。我不会惊讶地发现,SD卡的性能更差。在使用具有更高吞吐量的FAT-FS的另一个实现中,偶尔(每几个小时操作一次)会出现一个失败的写入,如果检测到该写入,则可以对其进行处理,但是如果没有查找,则会导致文件系统变得不响应。总而言之,我学会了对任何基于可移动媒体的文件系统的定时保持警惕,并且很容易看到它导致看门狗溢出。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
478 浏览 0 评论
5799 浏览 9 评论
2338 浏览 8 评论
2229 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3534 浏览 3 评论
1129浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1105浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
875浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
478浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-4 06:58 , Processed in 0.926875 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1839