在STM32固件库(比如HAL或LL库)中,GPIO的寄存器映射已经定义好了,开发者可以通过标准的读写操作访问GPIO引脚的状态。
一、我们可以直接通过位移操作来修改特定值。

二、下面我们提供另一种方法,位带操作
首先要定义一下:

接下来,我们可以直接通过带位操作来修改特定值。

总结:
虽然固件库已经包含了GPIO寄存器的内存映射,但位带操作提供了一种简便、直接的位操作方式,特别适合于频繁、独立的位操作需求,简化了代码,同时解决了多任务环境中的竞争问题。
在STM32固件库(比如HAL或LL库)中,GPIO的寄存器映射已经定义好了,开发者可以通过标准的读写操作访问GPIO引脚的状态。
一、我们可以直接通过位移操作来修改特定值。
二、下面我们提供另一种方法,位带操作
首先要定义一下:
接下来,我们可以直接通过带位操作来修改特定值。
总结:
虽然固件库已经包含了GPIO寄存器的内存映射,但位带操作提供了一种简便、直接的位操作方式,特别适合于频繁、独立的位操作需求,简化了代码,同时解决了多任务环境中的竞争问题。