为什么擦出flash的时候定时器喂狗不能正常喂狗

为什么擦出flash的时候定时器喂狗不能正常喂狗,第1张

擦除Flash文件时,需要先将Flash对象的timer停止,然后再清除Flash对象,否则定时器仍然在运行,会发生内存泄漏问题,这会影响程序执行的稳定性。如果定时器没有被正常停止,那么它就会在后台一直运行,不断地执行其回调函数,可能会导致各种奇怪的错误和问题,从而破坏了整个应用程序的正常运行。定时器喂狗也是同样的道理,如果定时器没有被正常停止,就会导致狗没有被喂,从而引起程序故障。因此,正确的做法是在清除Flash对象之前,停止定时器,并释放相关资源,以确保程序的稳定性和可靠性。

开机时,如果按下了 K1,即可启动T0。

T0定时中断,即可自动喂狗,程序即可正常执行while中的内容。

其中就有:

LED2=1DelayMs(100)

LED2=0DelayMs(100)

即:LED2就闪烁。

按下 K2,就关闭了 T0,停止了喂狗。

单片机系统,16ms 后,自动复位。

复位后,如果没有按下 K1,不能自动喂狗,就会频繁的自动复位。

频繁的复位,总是执行开始处的:

LED1=0 DelayMs(100)

LED1=1 DelayMs(100)

所以,就是按key2 LED1闪烁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12090985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存