请教T0溢出中断时TCNT0不应该=0咩???
看图说话:T1,T0都是普通溢出中断,T1为何TCNT1=0中断,而T0中断时TCNT0却等于1????
我认为中断发生后计数器继续在计数,所以在中断中看到的具体数据值要看计数频率高低了。 这是设置寄存器状态TIFR改变来定点截的图,不是在源程序内设置断点。应该不存在截图延时。 见鬼了!
第一眼反应以为中断在程序里。后来说"设置寄存器状态TIFR改变来定点",是不是状态改变就中断,这个没有用过,怎么操作的?
这个问题我也很纳闷,T1和描述和T0是一样的,求解释 shjw 发表于 2013-2-5 13:49 static/image/common/back.gif
第一眼反应以为中断在程序里。后来说"设置寄存器状态TIFR改变来定点",是不是状态改变就中断,这个没有用过 ...
点"暂停"开始仿真,不要点"开始".
再打开菜单"调试"-->Watch Window.往里面加要监视的寄存器或变量。 原因找到乐:
当TCNT0=0xff时,在T0未计数前用软件写TCNT0=0x00后,当下一个计数周期到来时TCNT0=0x01,CPU会按上次欲置位的状态把TOV0置1!!
而当TCNT0=0xff时,在T0未计数前用软件写TCNT0=0x01到0xff的数,就不会发生这种错误.....
问题又来了:是M8 CPU有隐藏变量搞"欲置位"还是Proteus坑爹呢?{:huffy:} 点"暂停"开始仿真,不要点"开始". -------这样也可以?
"调试"-->Watch Window AVR Studio4.16没有这个,好久没有接触AVR了,版本没有升级级 shjw 发表于 2013-2-5 14:48 static/image/common/back.gif
点"暂停"开始仿真,不要点"开始". -------这样也可以?
"调试"-->Watch Window AVR Studio4.16没有这个, ...
哈哈,是Proteus+ICCAVR{:titter:}
页:
[1]