AT91SAM9G45 c代码解释?

[复制链接]
 楼主| xjsfsq 发表于 2014-10-31 15:59 | 显示全部楼层 |阅读模式
在学习AT91SAM9G45时,在C程序总是能看到这样的宏定义,实在看不明白,请高手解读。因为高手在民间。。。
#define PINS_USER  PIN_PUSHBUTTON_1, PIN_PUSHBUTTON_2
上面这个是定义PINS_USER 同时代表BUTTON1 和BUTTON2 这两个参数吗?
#define PIN_PUSHBUTTON_1  {1 << 6, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
这句实在看不懂
zyingjie 发表于 2014-10-31 20:48 来自手机 | 显示全部楼层
为啥会定义成这样,楼主别偷懒,BUTTON-2重新定义下吧
zchong 发表于 2014-11-2 19:56 | 显示全部楼层
本帖最后由 zchong 于 2014-11-2 20:06 编辑

#define 就是替换啊,你把对应宏定义替换掉看看,很容易就看明白了

  1. #define PIN_PUSHBUTTON_1  {1 << 6, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
  2. #define PIN_PUSHBUTTON_1  {1 << 7, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
  3. #define PINS_USER  PIN_PUSHBUTTON_1, PIN_PUSHBUTTON_2
那么PINS_USER 就是:

  1. {1 << 6, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP},{1 << 7, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_PULLUP}
ayb_ice 发表于 2014-11-3 14:01 | 显示全部楼层
结合使用的地方替换成最终的样子,就能看出端倪
 楼主| xjsfsq 发表于 2014-11-3 15:20 | 显示全部楼层
是的,搞明白了。不过#define语句这么用,我是第一次遇到。谢谢楼上的提点,高手还是在民间.................
zchong 发表于 2014-11-4 08:04 来自手机 | 显示全部楼层
最近也在研究9G45
chen_jhhb 发表于 2014-11-4 08:25 | 显示全部楼层
领教了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

10

主题

24

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部