4*4键盘矩阵(中断)

谢谢回答,这些宏观的解释我能理解,主要是这两个函数不是太清楚其意义:
GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN ): 读取第 1 列的状态,以判断是否有键被按下。

while(GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN )):等待键松开。
我的理解是:GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN ):读出来的数据是0,不知理解是否正确,如是对的,则作为判断条件就不不合适,而在while(GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN ))语句中的GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN )读的数据应该是0还是1呢?
谢谢

詳細點說明
GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN )函数读取的是第1列的GPIO端口(LINE1_GPIO_PORT)上的状态
(LINE1_GPIO_PIN),返回值为0或1。

当返回值为0时,表示该GPIO端口上的输入状态为低电平,可以理解为键未被按下。

当返回值为1时,表示该GPIO端口上的输入状态为高电平,可以理解为键被按下。

所以,在while(GPIO_ReadInputDataBit ( LINE1_GPIO_PORT, LINE1_GPIO_PIN ))语句中,等待的条件是读取到GPIO端口上的输入状态为高电平,即键被按下。一旦读取到输入状态为低电平(键松开),则跳出循环