本文最后更新于25 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
STM32的引脚控制并不像51单片机那样可以直接位操作,一般都使用库函数GPIO_SetBits()和GPIO_ResetBits()来对某个引脚给予高低电平。所以让LED闪烁时就犯了难,于是上网查找发现了一个比较简单的方法。
在STM32标准库里面有GPIO_WriteBit()和GPIO_ReadOutputDataBit()两个函数。
一个是GPIO_WriteBit(),用来对某个引脚赋予高低电平
一个是GPIO_ReadOutputDataBit(),用来读取某个电平的引脚状态(高或低),并返回值(0或1)
当复用这两个函数便能使某个引脚进行取反操作,如下
GPIO_WriteBit(GPIOA, GPIO_Pin_8, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_8)));
注:BitAction就是一个枚举类型的变量,表示这个位是高电平还是低电平,不加会出现警告,但程序能正常运行。