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),那不是每个寄存器的位都要记牢?请哪位知道的提示一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
fox_kf
1楼-- · 2019-07-16 06:56
请教楼主 你这个问题是怎么解决的?
sprint-tong
2楼-- · 2019-07-16 09:27
 精彩回答 2  元偷偷看……
yyllxsd
3楼-- · 2019-07-16 14:53
没设置好 在option->general options -> system -> enable bit defination in I/O - Include files 把位操作使能勾上就可以了
964826861
4楼-- · 2019-07-16 19:11
人生最大的遗憾是勤奋不够!

一周热门 更多>