2020-02-21 20:52发布
fengyunyu 发表于 2014-8-26 20:51 仔细看帖,都已经说的这么清楚了。1、看门狗喂狗间隔可以“加长”;2、避免ls几位提到的在某些运行时间长 ...
holts2 发表于 2014-8-26 21:22 简单来说: while 1
fengyunyu 发表于 2014-8-26 21:29 有os的情况看28楼。无os的话,则: while(1)
holts2 发表于 2014-8-26 21:42 不好意思,我还真没看懂,你之前的贴子一直说的是中断喂狗, 但上面你复我的例子分明中在循环中喂狗麻, ...
最多设置5个标签!
简单来说:
while 1
{
taska();
taskb();
taskc();
}
如果主循环中的三个任务运行时长不确定,以变量+中断喂狗的方式, 我的全局变量是放在A,B,C 三个任务中更新 ? 这个很难处理吧, 实际上我认为如果主循环时长超过 狗的时长,多处喂狗实际上是不可避免的了。
有os的情况看28楼。无os的话,则:
while(1)
{
看门狗计数器清零
task1
task2
...
}
就此打住了。不清楚这位兄台是真没有看懂,还是...
不好意思,我还真没看懂,你之前的贴子一直说的是中断喂狗, 但上面你复我的例子分明中在循环中喂狗麻,而且就我说的这个例子,主循环时长超过狗的时长,在这个主循环中必需多处喂狗,哪能这样简单的在任务前喂一次狗了事?
timer_interupt()
{
if 喂狗计数器大于预设值 不喂狗
else 喂狗
}
main()
{
...
while(1)
{
喂狗计数器清零
task1
task2
...
}
}
一周热门 更多>