|
最近玩玩RF ID卡的读卡器,想使用捕获来解码曼切斯特_码,但是看了n遍ATtiny2313的手册,觉得还是不明白捕获的具体实现,在CVAVR的工程建立向导中看见有设置定时器1初始的代码如下
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Rising Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: On
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x42;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
选择溢出和捕获中断,是不是中断发生后要检查 中断标志,是溢出中断还是捕获中断,在正常模式下,T1溢出后自己重载吗? 括号内为个人猜测(如果第一次捕获是ICP的值为65530,第二次捕获的值为100,用第二次的值减去第一次的值,结果是否为负值 或是一个错误的值,其实这个宽度为105us,这种情况是编译器处理还是要编写相关代码处理.还是在捕获发生时将T1清零,重新开始计数,如果是后者的话问题比较好解决,前者就不是很好解决), |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|