初始化中,可以看到
*pPORTFIO_DIR |= PF4 | PF5 | PF6 | PF7; //设置端口PF4~PF7方向为输出
*pPORTFIO_DIR &= ~(PF0 | PF1 | PF2 | PF3); //设置端口PF0~PF3方向为输入
*pPORTFIO &= ~0x00f0;
表示让PF4~PF7输出为0,
PF0~PF7都上拉了电阻,PF0~PF3在默认状态下接口电平为1,读取值为0x0f.
当PF4~PF7输出为0,有按键按下后,PF0~PF3有管脚和PF4~PF7短接,短接的端口电平被拉到0,读取状态不为0x0f,所以通过下面函数判断是否为F,即可知道有没有按键按下。
if((*pPORTFIO & 0x000f) !=0x000f)