正点原子 12 GPIO  工作原理

GPIO 工作方式

    I/O structure中带FT的IO口是支持5V容忍的

四种输入模式

  1. 输入浮空

  2. 输入上拉

  3. 输入下拉

  4. 模拟输入


四种输出模式

  1.开漏输出(带上拉或者下拉)

    只可以输出强低电平,高电平得靠外部电阻拉高.输出端相当于三极管的集电极,要得到高电平状态需要上拉电

    阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)

  2.开漏复用功能(带上拉或者下拉)     

  3.推挽式输出(带上拉或者下拉)

                可以输出强高低电平,连接数字器件

  4.推挽式复用功能(带上拉或者下拉)


四种最大输出速度

  1. 2MHZ

  2. 25MHZ

  3. 50MHZ

  4. 100MHZ


每组GPIO端口的寄存器包括10个寄存器 

  1.一个端口模式寄存器(GPIOx_MODER) 32位

       

  2.一个端口输出类型寄存器(GPIOx_OTYPER) 32位

         

  3.一个端口输出速度寄存器(GPIOx_OSPEEDR) 32位

          

  4.一个端口上拉下拉寄存器(GPIOx_PUPDR) 32位

           

  5.一个端口输入数据寄存器(GPIOx_IDR) 32位

           

   6.一个端口输出数据寄存器(GPIOx_ODR) 32位 

                     读→分析→写的过程,对于实时操作系统里面时时会有一些误操作

    

  7.一个端口置位/复位寄存器(GPIOx_BSRR)

     直接操作每个位,不同于ODR寄存器

           

  8.一个端口配置锁存寄存器(GPIOx_LCKR)

  9.两个复位功能寄存器(GPIOx_AFRL GPIOx_AFRH)


如果配置一个IO口需要2个位,那么刚好32位寄存器配置一组IO(一组有16个IO口)

如果配置一个IO口只要1个位,一般高16位保留

BSRR寄存器32位分为: 

  低16位BSRRL

    配置一组IO口的16个IO口的置位状态(1)

  高16位BSRRH  

    配置一组IO口的16个IO口的复位状态(0)


所有的IO口都可以作为中断输入




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值