新建
上传
首页
助手
最?/div>
资料?/div>
工具

问题一?/p>

IAR

中如何做位定义,位操?/p>

 

以前?/p>

STVD

中,使用如下语句做位定义

 

_Bool L1            @PA_ODR : 6;        //

数码管个?/p>

, 

低电平点?/p>

 

_Bool L2            @PA_ODR : 5;        //

数码管十?/p>

, 

低电平点?/p>

 

_Bool L3            @PA_ODR : 4;        //

数码管百?/p>

, 

低电平点?/p>

 

但是同样的语句在

IAR

中不能用了,编译时报错?/p>

 

后来,查?/p>

IAR

中的头文?/p>

 "iostm8s207rb.h"

,看到如下语?/p>

 

/*------------------------------------------------------------------------- 

*      Port A bit fields 

*-----------------------------------------------------------------------*/ 

#ifdef __IAR_SYSTEMS_ICC__ 

#define PA_ODR_ODR0              PA_ODR_bit.ODR0 

#define PA_ODR_ODR1              PA_ODR_bit.ODR1 

想想看:

既然可以?/p>

PA_ODR_ODR1

来指定某个位,那么我再将某个位用

define

重新

定义为我想要的名字不就可以了?/p>

?心动不如行动,于是写下如下语句?/p>

 

#define Sound_K     PA_ODR_ODR6;    //

语音控制

K 

原本以为十拿九稳,肯定能编译通过,结果现实狠狠地教训了我一下,报错?/p>

 

Error

?/p>

Pe029

?/p>

:expected an expression 

我百思不得其解,以为

IAR

不支持这种重复定义的方式,于是换?/p>

bool

?/p>

_Bool, _bool, 

bit ......

各种方法尝试,结果均以失败告终,事情似乎走到了尽头?/p>

 

最后,抱着试一试的想法,我把原头文件中的语?/p>

 

#define PA_ODR_ODR6              PA_ODR_bit.ODR6 

换成

 

#define Sound         PA_ODR_ODR6    //

语音控制

K 

结果,编译通过了,我真是泪流满面啊,没想到问题解决了?/p>

 

回过头来,我再检查之前的语句

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

问题一?/p>

IAR

中如何做位定义,位操?/p>

 

以前?/p>

STVD

中,使用如下语句做位定义

 

_Bool L1            @PA_ODR : 6;        //

数码管个?/p>

, 

低电平点?/p>

 

_Bool L2            @PA_ODR : 5;        //

数码管十?/p>

, 

低电平点?/p>

 

_Bool L3            @PA_ODR : 4;        //

数码管百?/p>

, 

低电平点?/p>

 

但是同样的语句在

IAR

中不能用了,编译时报错?/p>

 

后来,查?/p>

IAR

中的头文?/p>

 "iostm8s207rb.h"

,看到如下语?/p>

 

/*------------------------------------------------------------------------- 

*      Port A bit fields 

*-----------------------------------------------------------------------*/ 

#ifdef __IAR_SYSTEMS_ICC__ 

#define PA_ODR_ODR0              PA_ODR_bit.ODR0 

#define PA_ODR_ODR1              PA_ODR_bit.ODR1 

想想看:

既然可以?/p>

PA_ODR_ODR1

来指定某个位,那么我再将某个位用

define

重新

定义为我想要的名字不就可以了?/p>

?心动不如行动,于是写下如下语句?/p>

 

#define Sound_K     PA_ODR_ODR6;    //

语音控制

K 

原本以为十拿九稳,肯定能编译通过,结果现实狠狠地教训了我一下,报错?/p>

 

Error

?/p>

Pe029

?/p>

:expected an expression 

我百思不得其解,以为

IAR

不支持这种重复定义的方式,于是换?/p>

bool

?/p>

_Bool, _bool, 

bit ......

各种方法尝试,结果均以失败告终,事情似乎走到了尽头?/p>

 

最后,抱着试一试的想法,我把原头文件中的语?/p>

 

#define PA_ODR_ODR6              PA_ODR_bit.ODR6 

换成

 

#define Sound         PA_ODR_ODR6    //

语音控制

K 

结果,编译通过了,我真是泪流满面啊,没想到问题解决了?/p>

 

回过头来,我再检查之前的语句

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

问题一?/p>

IAR

中如何做位定义,位操?/p>

 

以前?/p>

STVD

中,使用如下语句做位定义

 

_Bool L1            @PA_ODR : 6;        //

数码管个?/p>

, 

低电平点?/p>

 

_Bool L2            @PA_ODR : 5;        //

数码管十?/p>

, 

低电平点?/p>

 

_Bool L3            @PA_ODR : 4;        //

数码管百?/p>

, 

低电平点?/p>

 

但是同样的语句在

IAR

中不能用了,编译时报错?/p>

 

后来,查?/p>

IAR

中的头文?/p>

 "iostm8s207rb.h"

,看到如下语?/p>

 

/*------------------------------------------------------------------------- 

*      Port A bit fields 

*-----------------------------------------------------------------------*/ 

#ifdef __IAR_SYSTEMS_ICC__ 

#define PA_ODR_ODR0              PA_ODR_bit.ODR0 

#define PA_ODR_ODR1              PA_ODR_bit.ODR1 

想想看:

既然可以?/p>

PA_ODR_ODR1

来指定某个位,那么我再将某个位用

define

重新

定义为我想要的名字不就可以了?/p>

?心动不如行动,于是写下如下语句?/p>

 

#define Sound_K     PA_ODR_ODR6;    //

语音控制

K 

原本以为十拿九稳,肯定能编译通过,结果现实狠狠地教训了我一下,报错?/p>

 

Error

?/p>

Pe029

?/p>

:expected an expression 

我百思不得其解,以为

IAR

不支持这种重复定义的方式,于是换?/p>

bool

?/p>

_Bool, _bool, 

bit ......

各种方法尝试,结果均以失败告终,事情似乎走到了尽头?/p>

 

最后,抱着试一试的想法,我把原头文件中的语?/p>

 

#define PA_ODR_ODR6              PA_ODR_bit.ODR6 

换成

 

#define Sound         PA_ODR_ODR6    //

语音控制

K 

结果,编译通过了,我真是泪流满面啊,没想到问题解决了?/p>

 

回过头来,我再检查之前的语句

 

Ͼλ">
Ͼλ
Ŀ

IAR相关问题处理办法,及其注意事项 - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

问题一?/p>

IAR

中如何做位定义,位操?/p>

 

以前?/p>

STVD

中,使用如下语句做位定义

 

_Bool L1            @PA_ODR : 6;        //

数码管个?/p>

, 

低电平点?/p>

 

_Bool L2            @PA_ODR : 5;        //

数码管十?/p>

, 

低电平点?/p>

 

_Bool L3            @PA_ODR : 4;        //

数码管百?/p>

, 

低电平点?/p>

 

但是同样的语句在

IAR

中不能用了,编译时报错?/p>

 

后来,查?/p>

IAR

中的头文?/p>

 "iostm8s207rb.h"

,看到如下语?/p>

 

/*------------------------------------------------------------------------- 

*      Port A bit fields 

*-----------------------------------------------------------------------*/ 

#ifdef __IAR_SYSTEMS_ICC__ 

#define PA_ODR_ODR0              PA_ODR_bit.ODR0 

#define PA_ODR_ODR1              PA_ODR_bit.ODR1 

想想看:

既然可以?/p>

PA_ODR_ODR1

来指定某个位,那么我再将某个位用

define

重新

定义为我想要的名字不就可以了?/p>

?心动不如行动,于是写下如下语句?/p>

 

#define Sound_K     PA_ODR_ODR6;    //

语音控制

K 

原本以为十拿九稳,肯定能编译通过,结果现实狠狠地教训了我一下,报错?/p>

 

Error

?/p>

Pe029

?/p>

:expected an expression 

我百思不得其解,以为

IAR

不支持这种重复定义的方式,于是换?/p>

bool

?/p>

_Bool, _bool, 

bit ......

各种方法尝试,结果均以失败告终,事情似乎走到了尽头?/p>

 

最后,抱着试一试的想法,我把原头文件中的语?/p>

 

#define PA_ODR_ODR6              PA_ODR_bit.ODR6 

换成

 

#define Sound         PA_ODR_ODR6    //

语音控制

K 

结果,编译通过了,我真是泪流满面啊,没想到问题解决了?/p>

 

回过头来,我再检查之前的语句

 



ļ׺.doc޸Ϊ.docĶ

  • һϸ
  • ƬԭӦüC51ƣڶ棩κ
  • 磨İ棩κϰ⣨Ӣģ+ϰ𰸣Ӣģ - ͼ
  • طָ̣ʽ
  • ش(ը)¹רӦԤ
  • 3-6ͯչָϡԾ
  • ϶Կڸ߿2015ࣨϲᣩ-3 Ӽ
  • ˮ˵
  • ѧģ
  • ̡Դ Ŀ2003

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@) ICP20003344-4