iar for avr 中对特殊寄存器中某个位的操作

2019-07-16 06:07发布

刚开始使用iar,写好代码后对特殊寄存器的位操作不能进行,编译器说没有定义,比如说 while(!( while(!(UCSRA&(1<<UDRE)))&(1<<UDRE)))这句话,编译器就提示说 Error【Pe020】:identifier"UDRE"is undefined
然后在mega8的头文件iom8.h中只有寄存器的地址定义,没有寄存器位的定义,位的定义放在了iom8.inc中,奇怪的要死,是设置错了还是就不能使用,如果我想把 UCSRA中的UDRE位置1难道只能是UCSRA&(1<<5),那不是每个寄存器的位都要记牢?请哪位知道的提示一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。