STM32F4 微控制器的数字输入输出详解
1. 数字输入输出基础
在数字电路中,每个外设单元都有一个基地址,每个 GPIO 端口还有额外的偏移值。各个端口的寄存器通过在之前的基地址和偏移值基础上增加额外的地址偏移值来指定。通过将特定的 GPIO 基地址和寄存器偏移值相加,就可以访问寄存器的内容。例如,要读取 IDR 寄存器(GPIOx_IDR)的内容,可以通过(GPIOx_BASE + 0x00000010)得到内存地址。以下是部分 GPIO 端口的基地址和寄存器偏移值:
GPIOF_BASE = AHB1PERIPH_BASE + 0x00001400
GPIOG_BASE = AHB1PERIPH_BASE + 0x00001800
GPIOH_BASE = AHB1PERIPH_BASE + 0x00001C00
GPIOI_BASE = AHB1PERIPH_BASE + 0x00002000
GPIOJ_BASE = AHB1PERIPH_BASE + 0x00002400
GPIOK_BASE = AHB1PERIPH_BASE + 0x00002800
GPIOx_MODER = GPIOx_BASE + 0x00000000
GPIOx_OTYPER = GPIOx_BASE + 0x00000004
GPIOx_OSPEEDR = GPIOx_BASE + 0x00000008
GPIOx_PUPDR = GPIOx_BASE + 0x0000000C
GPIOx_IDR = GPIOx_BASE + 0x00000010
GPIOx_ODR = GPIOx_BASE + 0x00000014
GPIOx_BSR
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



