下面我就以《 AVR 单片机入门与实践 》李弘 等编著 北京航空航天大学出版社这本书来讲述学习心得
第十一章:看门狗及C嵌套汇编简介
看门狗定时器右片内一个独立的震荡器驱动。震荡频率为1MHZ(在5V时的典型值)。
看P169到P172 P171中有关闭看门狗的例子
看门狗的应用也要和熔丝位配合,参考P172和P323表6.1
看门狗 是单片机的忠实护卫,从名字就能看出来。
在论坛上有即形象又好玩的叫法,在此解释一下
养狗:使能看门狗
喂狗:清零看门狗
被狗咬:看门狗溢出
养狗不喂:使能看门狗但没有清零看门狗
别饿着狗:别忘了清零看门狗
等等
挺有意思的,呵呵
下面介绍一下C语言中嵌套汇编(在CVAVR环境下)
有两个格式
格式一:
#asm
……
#endasm
格式二:
#asm(“……”)
下面是在C中比较常用的嵌套汇编
#asm
sec
clc
sei
cli
nop
sleep
wdr
#endasm
也可以
#asm(“sei”)
#asm{“wdr”}
……
具体代表什么含义,请参考 书P181 第三章 ATmega8指令系统
另外在使用cvavr系统函数的时候,经常遇到:
比如在用i2c总线函数时,有
#asm
.equ __i2c_port = 0x18
……
#endasm
注意:在 .equ和__之间要有至少一个“空格”
.equ __i2c_port = 0x18 这句相当于 #define __i2c_port 0x18