请问STM32F7li怎么判断IO口状态?

2019-07-18 17:30发布

#define BUSY(x)        GPIO_Pin_Set(GPIOD,PIN8,x)
while(BUSY == 1);  这样写为什么会报错 未定义

原子的案例里这样也不能写
   u8 GPIO_Pin_Get(GPIO_TypeDef* GPIOD,u16 pin8)
        {
            IF(GPIOD->IDR&pin8)return 1;
                else return 0;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
zhouxk
2019-07-19 23:51
宏定义相当于替换,你看看 while(GPIO_Pin_Set(GPIOD,PIN8) == 1) 是个什么?
GPIO_Pin_Set()一般是没有返回值的viod类型, 不知道你的函数定义里面是什么样的。标准库函数中,读是“void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)”,写是“uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)”




至于下面一条说 “原子的案例里这样也不能写”,那得看报什么错?本身这个函数这样写是没有语法问题的。

一周热门 更多>