登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

Mega8的定时器溢出中断不能用查询方式?

作者:NE5532 栏目:单片机
MEGA8的定时器溢出中断不能用查询方式?
用Timer0做个计时器,想用轮寻方式来检测其溢出中断(总中断已经关闭),写了如下语句:

clear_t0_ove:
    sbis    TIFR,TOV0
    ret                    ;Timer 0 Not OverFlowed

结果被编译器报错了,用C语言试写了下,被编译成:

C_code:

while((TIFR&0x01)==0x01);

Asm_code:

(0717)     while((TIFR&0x01)==0x01);
    03A1 B628      IN    R2,0x38
    03A2 2433      CLR    R3
    03A3 FC20      SBRC    R2,0
    03A4 CFFC      RJMP    0x03A1

发现他是读进来判断的,难道这个寄存器不能直接用位跳转指令吗?请各位赐教。

2楼: >>参与讨论
yusuffang
超过
 
3楼: >>参与讨论
yusuffang
高于$1FI/O寄存器不支持,应该先读再判断。
 
4楼: >>参与讨论
NE5532
哦,原来如此,谢谢!ATMEL做得真是够晕的。
 
5楼: >>参与讨论
yusuffang
确实没51方便,但是价格便宜,习惯了就好了。
 
参与讨论
昵称:
讨论内容:
 
 
相关帖子
rt12864ct
请教
进来讨论一下winavr-20060125吧
求AVR高手指点
讨论一个关于ad转化精确度问题:
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号