This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

28035的看门狗WDFLAG标志位为什么总是1

Expert 1795 points
Other Parts Discussed in Thread: CONTROLSUITE

按手册,如果是XRS或者上电复位,这个标志位是0,如果是看门狗复位,则标志1.

我折腾了一天,发现,不管如何,上电复位后,这个标志位一定是1。就算我不启用看门狗,还是1。只有仿真复位时才正常,这肯定不是我的错了。

这是bug吗?

找到一篇文章,说28335的,说是因为XINTF模块有什么问题,会导致看门狗复位。由于看门狗开机是默认开启的,必须在main函数里面关掉,也就是说,在main函数之前,已经看门狗复位了,如果真的这样,那28035就永远不能使用这个复位标志了?

  • HH Y 说:
    找到一篇文章,说28335的,说是因为XINTF模块有什么问题,会导致看门狗复位。由于看门狗开机是默认开启的,必须在main函数里面关掉,也就是说,在main函数之前,已经看门狗复位了,如果真的这样,那28035就永远不能使用这个复位标志了?

    以上应该说的是没有使用过的新片子,看门狗默认是使能的。

    请问您的片子有烧录程序吗?

  • controlsuite几乎所有例子程序一开始都是先关看门狗,然后才初始化晶振什么的,这个程序我保留了,后面也没再开看门狗,仿真也没事,就是断电重启,看门狗标志位一定是1,WDCR那个寄存器的值是0x8C,8表示看门狗复位了,C表示看门狗disabled了。现在重点不是看门狗没有默认使能,而是为什么一开机总是说是看门狗复位了?

  • 上面说糊涂了,应该是说WDCR寄存器,如果开启看门狗,断电重启后,值是0x80,如果 不开启看门狗,值是0xC,反正看门狗复位标志位总是1,仿真是看不到的。
  • WDCR是看门狗控制寄存器,看您的另一个帖子中做了bootloader代码,那您代码是在什么时候关的看门狗呢,main函数之后吗还是?
  • 排除了Bootloader,单独一个项目也是如此,如果别人没发现这个问题,那就是我的芯片坏了,或者和外围电路有关?有时间我换块芯片试试。