微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > iar for avr 中对特殊寄存器中某个位的操作

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

时间:10-02 整理:3721RD 点击:
刚开始使用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),那不是每个寄存器的位都要记牢?请哪位知道的提示一下

请教小编 你这个问题是怎么解决的?

没办法,自己在头文件里加了位操作,就是很麻烦

没设置好 在option->general options -> system -> enable bit defination in I/O - Include files 把位操作使能勾上就可以了

人生最大的遗憾是勤奋不够!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top