1.GPIO的工作原理

1.stm32引脚说明:

对于stm32f103zet6:
  1. 一共有7组io口;
  2. 每组io口有16个io;
  3. 一共有16*7=112个io;
  4. 分组情况为:GPIOA,GPIOB~GPIOG;

2.GPIO的基本结构:

3.GPIO的工作模式:

  1. 输入模式:输入浮空、输入上拉、输入下拉、模拟输入;
  2. 输出模式:开漏输出、开漏复用功能、推挽输出、推挽复用功能;
  3. 8种工作模式的详细介绍:
  4. 3种最大翻转速度:2MHz、10MHz、50MHz;

 4.8种工作模式:

  1. 输入浮空模式:
  2.  输入上拉模式:
  3.  输入下拉模式:
  4. 模拟输入模式:
  5.   
  6.  开漏输出模式:只可以输出强低电平,高电平依靠外部电阻拉高。输出端相当于三极管的集电极,得到高电平状态需要上拉电阻才行。适合于做电流型驱动,其吸收电流的能力相对较强(一般20mA以内)。
  7. 开漏复用输出模式;
  8. 推挽输出模式:可以输出强高低电平,连接数字器件;
  9. 推挽复用输出模式:

 5.GPIO相关配置寄存器:

每组GPIO端口的寄存器包括:

  1. 两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH);
  2. 两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR);
  3. 一个32位置位/复位寄存器(GPIOx_BSRR);
  4. 一个16位复位寄存器(GPIOx_BRR);
  5. 一个32位锁定寄存器(GPIOx_LCKR)。
  • 每个io端口位可以自由编程,然而io端口寄存器必须按32位字被访问(不允许半字或字节访问);
  • 每组io口有7个寄存器,一共可以控制一组GPIO的16个口;
  • GPIOx_CRL:端口配置低寄存器;
  • GPIOx_CRH:端口配置高寄存器;
  • GPIOx_IDR:端口输入寄存器;
  • GPIOx_ODR:端口输入寄存器;
  • GPIOx_BSRR:端口位设置/清除寄存器;
  • GPIOx_BRR:端口位清除寄存器;
  • GPIOx_LCKR:端口配置锁存寄存器。

6.端口复用功能:

stm32的大部分端口都具有复用功能,复用就是指一些端口不仅可以作为通用io口,还可以复用为一些外设引脚,例如PA9,PA10可以复用为stm32的串口1引脚。

端口复用的作用:最大限度的利用端口资源。

7.端口重映射功能:

就是将某些功能引脚映射到其他引脚,例如串口1默认引脚为PA9,PA10可以通过重映射映射到PB6,PB7。

重映射的作用:方便布线。

注意:所以的io口都可以作为中断输入;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&jhan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值