关于watchdog的问题

我做的系统是在PC/104下做的,不知为什么运行一段时间系统就会死机,表现在ping不通(没有接显示),但是我已经加了watchdog,这个watchdog是PC/104厂家提供的,就是向某个地址写一个数据,需要不断喂狗,可是为什么还会死机呢?我是在一个中断响应线程中做的这件事情(每10ms喂一次狗),有人说应该放到主函数中做,是这样吗?请高手指点

你确认死机和看门狗有关吗?

喂狗的程序,没必要放在中断响应线程中吧?
写个简单的程序一直循环喂狗就可以了。但可能这个程序的优先级需要高一点。这样就不怕在重载的情况下得不到时间运行。

现在就是奇怪虽然喂了狗还是有死机,但是出现的机率不一样,有时几天,有时10几天,最长跑了快1年,我想知道这和放在中断线程中有关吗?

中断线程是指Interrupt handler吗?
我只是在想,如果放在中断处理中,如void out8( uintptr_t port, uint8_t val );中的port应该是个全局变量。不知道会不会有什么影响。

最简单就是单独写一个程序来喂狗了。循环一下,usleep一下。不用考虑那么多。再看看奇怪的现象是否还存在。