请问对于一组GPIO口,将IO口设置为输入模式的时候,怎么一下读书这组IO口的所有输入值?

2019-10-11 16:40发布

能否用一句语句,读出一组IO口的所有输入值?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
why always me
2019-10-12 20:52
回复【8楼】zhululai:
---------------------------------
//按键初始化函数 
void KEY_Init(void)
{     
     GPIO_InitTypeDef GPIO_InitStructure; 
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能PORTA,时钟

    GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_All;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;  //设置成下拉输入
    GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA



void KEY_Scan(void)
{

    if(KEY0==1)
        GPIO_ResetBits(GPIOB,GPIO_Pin_12);
    if(KEY1==1)
        GPIO_ResetBits(GPIOB,GPIO_Pin_13);
    if(KEY2==1)
        GPIO_ResetBits(GPIOB,GPIO_Pin_14);
    if(KEY3==1)
        GPIO_ResetBits(GPIOB,GPIO_Pin_15);

}

#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)
#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)
#define KEY3 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7)

现在我一上电,就会有PB14,PB.15两个灯是亮的(不正常),PB.13和PB.15只有按键的时候才会亮(正常)

一周热门 更多>