GPIO作为输入口来点亮LED的实验程序问题

2019-07-16 09:54发布

while (1)
        {
                /* 采用查询方式,等待按键按下 */
                while (1)
                {
                        if (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_5) == Bit_RESET)
                        {
                                GPIO_ResetBits(GPIOB, GPIO_Pin_0);        /* 点亮LED0 */
                                break;
                        }       
                }

                /* 采用查询方式,等待按键释放 */
                while (1)
                {
                        if ((GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_5) == Bit_SET))       
                        {
                                GPIO_SetBits(GPIOB, GPIO_Pin_0);        /* 关闭LED0 */
                                break;
                        }
                }
        }

我查询了GPIO_ReadInputDataBit这个库函数无输出参数,那怎么和Bit_SET和Bit_RESET做比较?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
sh151
2019-07-16 11:54
是没有输出值,但它有个返回值,返回的就是当前管脚的当前状态(0或1),而Bit_RESET应该是一个定义的变量(且为0),并不一定要输出值。你可以看固件函数库接下来的那个示例,它说的是把B口7脚的返回值赋值给一个8位的变量ReadValue,可见你所说的Bit_SET(或Bit_RESET)和GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_5) 是可以比较的,OK。

一周热门 更多>