速度最快的直接操作寄存器代码如下:

#define GPIOA_BASE_ADDR 0x40010800
#define GPIOA_BSRR_OFFSET 0x10

#define GPIOA_BSRR_REG (*((volatile uint32_t *)(GPIOA_BASE_ADDR + GPIOA_BSRR_OFFSET)))

#define GPIO_PIN_5 5

GPIOA_BSRR_REG = (1 << GPIO_PIN_5);

这段代码使用了直接操作寄存器的方式来设置 GPIOA 的第 5 个引脚为高电平。首先,我们定义了 GPIOA 的基地址和 BSRR 寄存器的偏移量。然后,通过将这些地址转换为指针并使用 volatile 关键字,我们可以直接访问这些寄存器。最后,我们使用位操作符将第 5 个引脚的位设置为 1,将其设置为高电平。


原文地址: https://www.cveoy.top/t/topic/fNpD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录