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

[复制链接]
1597|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

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