STM32F103C8T6 GPIOA_BSRR 寄存器操作详解
STM32F103C8T6 GPIOA_BSRR 寄存器操作详解
本文将介绍如何通过直接操作 GPIOA_BSRR 寄存器来控制 STM32F103C8T6 的 GPIOA 引脚输出低电平。
代码示例
以下代码演示了如何使用直接寄存器操作将 GPIOA 的 Pin 5 输出低电平:c*((volatile uint32_t *)(GPIOA_BASE + 0x10)) = (1 << 5);
代码解析
GPIOA_BASE:GPIOA 外设的基地址。*0x10:GPIOA_BSRR寄存器的偏移地址。*(volatile uint32_t *):将地址强制转换为指向 volatile 无符号 32 位整数的指针。*(1 << 5):将 1 左移 5 位,对应GPIOA_BSRR寄存器中控制 Pin 5 的位。
总结
通过直接操作 GPIOA_BSRR 寄存器,我们可以更高效地控制 STM32F103C8T6 的 GPIO 引脚输出。这种方法避免了使用 HAL 库函数带来的开销,适用于对性能要求较高的场合。
原文地址: https://www.cveoy.top/t/topic/fNpl 著作权归作者所有。请勿转载和采集!