当前位置: 代码迷 >> 单片机 >> 新手提问,关于宏定义的在有关问题,在Keli-MDK中
  详细解决方案

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

热度:36   发布时间:2016-04-28 15:08:39.0
新手提问,关于宏定义的在问题,在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
  相关解决方案