休眠模式真的很麻烦,我的mcu决定不进入这种模式。这样的话只有上电复位和看门狗溢出复位,可以通过查询r3的状态字来确定到底是怎么复的位,这个怎么复位并不重要,重要的是复位后的状态:所有io脚都为高阻输入状态;看门狗和预分频器为0;预分频器分配给了看门狗,看门狗允许;关闭所有中断;注意的是p62不是普通的io了,只能作为输入的tcc计数脉冲;各个io口的下拉,上拉,漏极开路都禁止;p60双向io口。
上电复位要对全部寄存器(控制和通用)初始化;看门狗复位和外部复位只需要初始化控制寄存器。
在code option word0的bit12位选择1,/resret禁止,这样采用的就是内部复位,这样可以节省一个io口,p63只能输入不能输出。