首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

新手提问,关于宏定义的在有关问题,在Keli-MDK中

2014-01-17 
新手提问,关于宏定义的在问题,在Keli-MDK中我在main函数前面定义了如下:#define BITSAND(Addr,BitNum)*((v

新手提问,关于宏定义的在问题,在Keli-MDK中
我在main函数前面定义了如下:
#define BITSAND(Addr,BitNum)    *((volatile unsigned long *)    ((Addr&0xf0000000)+0x2000000 + (Addr&0xfffffff)<<5 + BitNum*<<2)
#define PAOUT(N)   BITSAND(GPIOA_ODR_A,N)
#define PAIN(N)    BITSAND(GPIOA_IDR_A,N)

在main函数中,有这样的语句
if ((GPIOA->IDR & 0x1000)== 0x1000)
PAOUT(4)=1;
else PAOUT(4)=0;

它build 之后总是提示expected expression.并且PAOUT下游红色波浪线

请问一下这个问题该怎么解决???
[解决办法]
BitNum*<<2可能是*多打了。
[解决办法]
BitNum*<<2 写错了啊,应该是 m3 的bitband 吧

 #define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 


http://blog.csdn.net/gaojinshan/article/details/11479929

热点排行