wenyangzeng 发表于 2018-4-4 16:46:48

本帖最后由 wenyangzeng 于 2018-4-4 16:51 编辑

GPIO_Pin_Set(GPIOD,PIN8,x)的写法只是固件库适用,HAL库不能用,况且这里是写不是读。

F7X系列只能用HAL库:
写:HAL_GPIO_WritePin(GPIOD, GPIO_PIN_8,GPIO_PIN_SET)
读:HAL_GPIO_ReadPin(GPIOD,GPIO_PIN_8 )

toofree 发表于 2018-4-6 23:51:08


宏定义相当于替换,你看看 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)”




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


页: 1 [2]
查看完整版本: STM32F7li 判断IO口状态?