在看ATMEGA16的datasheet时,多处看到这样的描述:"通过写1来清除标志位"
例如在描述16bit定时计数器的中断标志寄存器TIFR时,
Bit 4 – OCF1A: T/C1 输出比较A 匹配标志位
当TCNT1 与OCR1A匹配成功时,该位被设为"1”。
强制输出比较(FOC1A) 不会置位OCF1A。
执行强制输出比较匹配A 中断服务程序时OCF1A自动清零。也可以对其写入逻辑"1”来清除该标志位。
英文版里也有这句:
......OCF1A is automatically cleared when the Output Compare Match A Interrupt Vector is executed.Alternatively, OCF1A can be cleared by writing a logic one to its bit location.
这怎么理解?
难道程序里写OCF1A = 1,OCF1A才会清零?
datasheet中有多处这样的描述,不知应该怎么样理解?望前辈告知,谢谢 |