PIC单片机的WDT问题求解

发布网友 发布时间:2022-04-20 06:07

我来回答

3个回答

热心网友 时间:2022-07-12 08:37

数据手册只说了是清除分频器,没说清除CONFIG2H啊。
你好好看看数据手册中的那个关于WDT的框图。(不知道你用的那个芯片的数据手册,我看的是PIC18F4680,是在第353页的图24-1)。
那图里很形象说明了WDT的后分频器是根据CONFIG2H中的WDTPS3~WDTPS0这四个位的数值来配置的。打个比方说说,后分频器是一个用来计数的池子,这个池子的容量大小由WDTPS3~WDTPS0这四个人来设置。当池子溢出后(计数满了)或者要开闸放水(CLRWDT指令)这时候就把这个池子的水放掉(清零)。
但你的理解是,如果要清零的话,不仅要把水放掉,还会把那四个人干掉……然后做程序的人要重新派四个人过去……这个……第一个步骤是对的,第二步骤明显是错误或者没有逻辑的。

热心网友 时间:2022-07-12 08:38

bit 0 SWDTEN : Software Controlled Watchdog Timer Enable bit
1 = Watchdog Timer is on
0 = Watchdog Timer is off
Note 1 : This bit has no effect if the Configuration bit, WDTEN, is enabled.

热心网友 时间:2022-07-12 08:38

你的理解错了!它说的是清分频器,指的是计时过程的所有的计数值,包括已经记下的分频数值也清了,而不是你设置的那些值。
如假设你设置的分频比是1:8.现在你的延时时间计数已经记了6,还没到8,所以还没有进位,此时清WDT时除了清已经计数的值外,还把把这个中间的计数值6也清了,而不是你设置的那个分频比的值。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com