Chinaunix

标题: i.mx28 有段代码解析 [打印本页]

作者: fage11    时间: 2018-04-15 22:00
标题: i.mx28 有段代码解析
#define LED_GPIO    MXS_PIN_TO_GPIO(PINID_LCD_D23)        //for 283 287A/B  这个思led gpio 口编号 查看源码如下


#define PINID_LCD_D23        MXS_PIN_ENCODE(1, 23) //这个是什么意思?


#define PINS_PER_BANK        32  //这个是我到理解是每个 gpio 组 有32个 管脚

#define MXS_PIN_TO_GPIO(p)    (((p) & MXS_PIN_PINID_MAX) |\
                 ((((p) >> MXS_PIN_BANK_BIT) &\
                 MXS_PIN_BANK_MAX) * PINS_PER_BANK))         //这个思获取gpio 口编号具体怎么个原理?  书上说思 bank*32+N 那为什么不直接

#define MXS_PIN_BANK_BIT    24                      //为什么是24 ???
#define MXS_PIN_BANK_MAX    (0x7FFFFFFF >> (MXS_PIN_BANK_BIT - 1))//255    这个是什么意思????
#define MXS_PIN_PINID_MAX    ((1 << MXS_PIN_BANK_BIT) - 1)//16777215         // 这个是什么意思????
#define MXS_PIN_TO_BANK(p)    (((p) >> MXS_PIN_BANK_BIT) & MXS_PIN_BANK_MAX)          这个是什么意思????
#define MXS_PIN_TO_PINID(p)    ((p) & MXS_PIN_PINID_MAX)                           这个是什么意思????

#define MXS_PIN_ENCODE(b, p)    \
        ((((b) & MXS_PIN_BANK_MAX) << MXS_PIN_BANK_BIT) |\
         ((p) & MXS_PIN_PINID_MAX))






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2