打印

Uint32 bank_id = ( number >> 5 )是什么意思?

[复制链接]
1399|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a1185391239|  楼主 | 2013-11-21 19:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Int16 EVMOMAPL137_GPIO_setDirection( Uint16 number, Uint8 direction )
{
    Uint32 bank_id = ( number >> 5 );//???
    Uint32 pin_id  = ( 1 << ( number & 0x1F ) );
        /**/
    Uint32* gpio_dir = ( Uint32* )( GPIO_BASE + GPIO_DIR_BASE + ( bank_id * GPIO_BASE_OFFSET ) );

    if ( ( direction & 1 ) == GPIO_OUT )
        *gpio_dir &= ~( pin_id );  // Set to OUTPUT
    else
        *gpio_dir |= ( pin_id );   // Set to INPUT

    return 0;
}
这一段里的Uint32 bank_id = ( number >> 5 ),这个5的含义是什么?

相关帖子

沙发
zhangmangui| | 2013-11-21 23:28 | 只看该作者
就是将函数传进来的参数number右移5位之后赋给bank_id

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

36

帖子

2

粉丝