天天看点

IAR for AVR中的位定义使用

目的:打开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

继续阅读