Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
初級會員
|
我不知道你为什么要延时这么长的时间,呵呵,如果一定要这么长,我可能就会采用一个定时器来完成了,如果延时10S代表这10S你不能够做任何事情,假设你的系统用在医疗或其他涉及人身安全等方面,这是很危险的,我一般都在程序中设一个时基,如10MS、100MS,然后大家有时间需求,都可以通过它来完成
發表於: 2006/11/10 16:21
|
|||
|
Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
版主
|
較早版本的PIC Watch-Dog 溢時的時間最大約為2秒,新版的PIC像 PIC18F4520 就可以到 (最小為 4mS x 32768 = 131Sec) 。 WDT的時間是可以隨時改的,如果要延遲10Sec 恐怕就超過PIC 2 Sec 的規格了。
發表於: 2006/11/9 11:41
|
|||
|
Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
新會員
|
setup_wdt(WDT_2304MS);在一个函数中只能使用一次吗??
另外,我想延迟10秒,但要使用看门狗,要清看门狗5词以上吗?其他有什么好的办法实现呢??
發表於: 2006/11/9 9:02
|
|||
|
Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
初級會員
|
restart_wdt();在一个函数中可以多次使用,在子函数也可以多次使用,另外,从我的实际使用中看,PIC的定时时间一般都有点误差的,呵呵,这不奇怪
發表於: 2006/11/9 8:53
|
|||
|
Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
新會員
|
谢谢...
那restart_wdt();在一个函数中可以多次使用吗? 在子函数也可以多次使用吗? 另外,我今天实际测试,其实reset的精确时间是2060ms,而不是标明的2304 ms,希望大家注意!
發表於: 2006/11/8 18:01
|
|||
|
Re: 请教watch dog 怎么用?
|
||||
---|---|---|---|---|
初級會員
|
restart_wdt();是将watch dog 的计数器清零,如果不清零,那么它会在你设定的时间到后将单片机复位,这样可以防止你的程序因为某种原因进入死循环或其他的引起单片机死机。所以,你要在设定的时间内至少执行一次restart_wdt();不知道有没有说清楚,呵呵
發表於: 2006/11/8 16:58
|
|||
|