一、窗口看门狗
对于窗口看门狗,它有自己的中断服务函数,但是独立看门狗没有。
因此一般专门使用一个定时器对独立看门狗进行喂狗。
但是要注意,由于嵌套中断,以及一般窗口看门狗的窗口时间较短,所以要设置窗口看门狗的抢占优先级,使其先喂狗。
由于窗口看门狗时间一般较短,且此次设置窗口时间即在37.4ms~49.9ms之间,为了防止其他中断嵌套导致窗口看门狗的喂狗失败,故窗口看门狗一般设置优先级为0,即最高优先级。!
①窗口看门狗的初始化
②在窗口中断服务函数中喂狗
③在任一定时器中进行独立看门狗的喂狗
注:在使用蓝牙数据透传来控制看门狗时,正常情况下,处于没有开启看门狗状态,一旦开启窗口看门狗或者独立看门狗,将一直保持打开,除非再次复位。
二、红外遥控的使用
红外两种形式编码的代表分别为NEC 和PHILIPS 的RC-5、RC-6 以及将来的RC-7。
本次红外遥控采取NEC协议!
PWM(脉冲宽度调制):以发射红外载波的占空比代表“0”和“1”。为了节省能量,一般情况下,发射红外载波的时间固定,通过改变不发射载波的时间来改变占空比。例如常用的电视遥控器,使用NEC upd6121,其“0”为载波发射0.56ms,不发射0.56ms;其“1”为载波发射0.56ms,不发射1.68ms;此外,为了解码的方便,还有引导码,upd6121 的引导码为载波发射9ms,不发射4.5ms。upd6121 总共的编码长度为108ms。
但并不是所有的编码器都是如此,比如TOSHIBA 的TC9012,其引导码为载波发射4.5ms,不发射4.5ms,其“0”为载波发射0.52ms,不发射0.52ms,其“1”为载波发射0.52ms,不发射1.04ms。
PPM(脉冲位置调制):以发射载波的位置表示“0”和“1”。从发射载波到不发射载波为“0”,从不发射载波到发射载波为“1”。其发射载波和不发射载波的时间相同,都为0.68ms,也就是每位的时间是固定的。
①NEC 格式的特征:
使用38 kHz 载波频率
引导码间隔是9 ms + 4.5 ms
使用16 位客户代码
使用8 位数据代码和8 位取反的数据代码
②红外接收头hx1838初始化函数
③hx1838读取函数