STM32103ZET6每组GPIO端口有7组寄存器
每组GPIO端口的寄存器共7个
【
GPIOx_CRL :端口配置低寄存器
GPIOx_CRH:端口配置高寄存器
GPIOx_IDR:端口输入寄存器
GPIOx_ODR:端口输出寄存器
GPIOx_BSRR:端口位设置/清除寄存器
GPIOx_BRR :端口位清除寄存器
GPIOx_LCKR:端口配置锁存寄存器
】
PS :每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。所有IO口都可以作为中断输入。
GPIO端口基本结构
两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) 选择I/O模式
- 每组GPIO有16个IO口,每个IO口需要4位来控制,这4位分成两部分,每部分2位,低2 位的部分用于选择输入或输出、选择速度,高2位的部分用于选择输入或输出的模式
- GPIOx_CRL用于控制低8个IO口
(例GPIOA_CRL控制PA0-PA7,GPIOx_CRH用于控制高8个IO口(例GPIOA_CRH控制PA8-PA15)
端口输入数据寄存器( GPIOx_IDR ) 读取I/O口电平
端口输出数据寄存器 ( GPIOx_ODR ) 控制I/O口输出
端口位设置/清除寄存器(GPIOx_BSRR) 间接地设置ODR来控制端口输出
端口位清除寄存器(GPIOx_BRR) 间接地清除ODR来控制端口输出
GPIO使能寄存器(APB2 外设时钟使能寄存器 (RCC_APB2ENR) 32位 )
来源:CSDN
作者:qq_44431690
链接:https://blog.csdn.net/qq_44431690/article/details/104041840