历史上的今天
今天是:2024年12月23日(星期一)
2020年12月23日 | STM32F103 GPIO基本原理与寄存器
2020-12-23 来源:eefocus
GPIO基本原理与寄存器配置
STM32F103ZET6
一共有7组IO口
每组IO口有16个IO
一共16X7=112个IO
GPIOA,GPIOB—GPIOG4种输入模式:
输入浮空
输入上拉
输入下拉
模拟输入
4种输出模式:
开漏输出
开漏复用功能
推挽式输出
推挽式复用功能3种最大翻转速度:
-2MHZ
-10MHz
-50MHz上电复位后,GPIO默认为浮空状态,部分特殊功能引脚为特定状态。
推挽输出:可以输出强高低电平,连接数字器件
开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。每组GPIO端口的寄存器包括:
两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) ,
两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),
一个32位置位/ 复位寄存器(GPIOx_BSRR),
一个16位复位寄存器(GPIOx_BRR),
一个32位锁定寄存器(GPIOx_LCKR)。
每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问(不允许半字或字节访问) 。每组IO口含下面7个寄存器。也就是7个寄存器,一共可以控制一组GPIO的16个IO口。
- GPIOx_CRL :端口配置低寄存器
- GPIOx_CRH:端口配置高寄存器
- GPIOx_IDR:端口输入寄存器
- GPIOx_ODR:端口输出寄存器
- GPIOx_BSRR:端口位设置/清除寄存器
- GPIOx_BRR :端口位清除寄存器
- GPIOx_LCKR:端口配置锁存寄存器
史海拾趣
|
在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的. 在CE6.0下,用6410平台去实现KITL功能怎么老是成功不了?三星手册是已经实现了的.… 查看全部问答> |
|
我是一个初学者,计划学习的是基于ARM处理器的嵌入式开发,具体做一个GPS导航系统 现在是有ARM9实验箱。 现在刚刚学习,有些迷茫,现阶段是不是要详细理解s3c2410处理器的各个架构,然后再学习OS呢? 如何进行系统的学习呢? 请高手给予指点, ...… 查看全部问答> |
|
请高手解决 RS485 通信问题,一台主机,两台从机,用作动作控制和数据获取。 开发平台都是 C8051F020, KEIL C,点对点通信均正常,联合调试动作几次后通信故障,不能从从设备获取数据。请有 RS485 网通信开发的技术人员帮助解决问题;有意者请于201 ...… 查看全部问答> |




