在A9芯片内部,SOC模型里面有一个看门狗控制器。 (工作原理:处理器和看门狗都在SOC内部,但是处理器死机了,控制器还可以工作)。 与gpio和uart不一样的是,这个控制器它没有输入输出,也就是说它不需要引脚。 扩展一下: GPIO主要是输入和输出高低电平 UART主要是利用串口实现数据的输入输出进行通信
那么WDT它没有引脚,也不输入输出,那它干嘛? WDT是 whatch dog timer (看狗计数器) ———看门狗 WDT——就是处理器死机的时候重启我们的处理器的 那么它的原理是什么呢? 看门狗,它本质就是一个计数器,而且是一个一直在递减的计数器; 但这个计数器减到零的时候,则启动复位程序; 这个图片可以解释为: 把socC处理器看作女神; 把看门狗 看成舔狗 一个再牛逼的添狗,最多一个月你不理他他就不舔了,但是你再第29天的时候给它发一条信息,那么他又可以再舔一个月; 当你第29天给舔狗发一条信息的这种行为称为:定时喂狗
那么我们怎么才可以实现看门狗的功能呢? 肯定是配置一些WDT控制器下的寄存器。 WTCNT :就是一个计数器,当它减到0时就下走 可以启动中断 :我们通过 设置WTCON[2]设置是否产生中断 或者reset(重启) :我们通过WTCON[5]来设置是否产生复位 WTDAT :这个是我们往这里面写基础数值的,通过这个数值来减 我们都知道我们的A9芯片是采用100M的,就是一秒钟减10000000 这减的太快了,所以我们用了俩个分频 WTCON[15:8] ;一级分频 8位(0~255)可以设置成1-256倍分频; WTCON[4:3] :二级分频 2位 可以设置 16 32 64 128 倍分频
好的我们的寄存器就配置到这里 接下来 上!!!! 代码
|