目的:打开IAR for AVR中的位定义
在单片机的编程中,经常会遇到 UCSRB = (1 << TXEN);这样的表达式,
查看定义可以在头文件中看到#define TXEN 3。
表示的是(1 << TXEN)是将1左移3位,然后赋值给UCSRB,是将寄存器某一位置位的常用做法。
方法:
这里说明一下如何在IAR这个编译环境中如何打开位定义。
在c文件的<iom8a.h>之前加入ENABLE_BIT_DEFINITIONS的定义即可。
#define ENABLE_BIT_DEFINITIONS
#include <iom8a.h>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Note:
1. 有兴趣的童鞋可以看一下,在<iom8a.h>中有位定义,只是需要有 ENABLE_BIT_DEFINITIONS的定义时才会进行位定义的编译。
2. 存疑:SREG_Bit7 = 1; // 总中断。这种表达式是在哪里定义的,如何实现的
交流QQ:1816879000,注明CSDN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
参考:http://blog.csdn.net/googlemi/article/details/39587353