STM32学习记录0008——GPIO那些事1

一、GPIO工作原理

准备资料

  • 《STM32中文参考手册》第八章:通用和复用功能I/O(GPIO和AFIO)

  • 《芯片数据手册(datasheet)》官网地址https://www.stmcu.com.cn/Product/pro_detail/STM32F103/product
    STM32学习记录0008——GPIO那些事1_第1张图片

  • 《STM32不完全手册-库函数版本》

  • 《STM32不完全手册-寄存器版本》

1.1、GPIO基本结构和工作方式

1.1.1 基本结构说明

我的板子是64引脚
芯片数据手册第19页
STM32学习记录0008——GPIO那些事1_第2张图片
STM32F103RCT6
4组IO口16*3+2=51个引脚:

  • GPIOA0-A15
  • GPIOB0-B15
  • GPIOC0-C15
  • GPIOD0-D2
    IO口还可以接外设哦
    芯片数据手册第23页
    PA9,PA10也是串口1 引脚
    STM32学习记录0008——GPIO那些事1_第3张图片
    GPIO基本结构:
    中文参考手册第105页
    STM32学习记录0008——GPIO那些事1_第4张图片

STM32学习记录0008——GPIO那些事1_第5张图片

1.1.2 工作模式

4种输入模式:

  • 输入浮空
    STM32学习记录0008——GPIO那些事1_第6张图片

  • 输入上拉
    STM32学习记录0008——GPIO那些事1_第7张图片

  • 输入下拉
    STM32学习记录0008——GPIO那些事1_第8张图片

  • 模拟输入
    STM32学习记录0008——GPIO那些事1_第9张图片

4种输出模式:

  • 开漏输出
    (1)输出1时:
    STM32学习记录0008——GPIO那些事1_第10张图片

(2)输出0是:
STM32学习记录0008——GPIO那些事1_第11张图片

  • 开漏复用功能
    这个输出1或则0的情况和开漏输出的基本一样,不一样的就是其输出的数据时外设得到的
    STM32学习记录0008——GPIO那些事1_第12张图片

  • 推挽式输出
    (1)输出1时:
    STM32学习记录0008——GPIO那些事1_第13张图片

(2)输出0时:
STM32学习记录0008——GPIO那些事1_第14张图片

  • 退挽式复用功能
    这里的退挽复用功能和前面的开漏的情况基本一样,后面的输出方式都是一样的,但是前面的输出来来源不一样。
    STM32学习记录0008——GPIO那些事1_第15张图片
    注意:
    开漏输出:可以输出强高低电平,连接数字器件
    开漏输出:只可以输出强低电平,高电平需要靠外部电阻拉高。输出端相对于三极管的集电极,要的得到高电平就需要上拉电阻才行,适合做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)

3种最大的翻转速度:

  • 2MHZ
  • 10ZHZ
  • 50MHZ

1.2、GPIO寄存器说明

每一组GPIO端口的寄存器包括:
两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)
两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR)
一个32 位置位/复位寄存器(GPIOx_BSRR)
一个16位复位寄存器(GPIOx_BRR)
一个32位锁定寄存器(GPIOx_LCKR)
中文参考手册113页
STM32学习记录0008——GPIO那些事1_第16张图片
中文参考手册114页
STM32学习记录0008——GPIO那些事1_第17张图片
中文参考手册115页
STM32学习记录0008——GPIO那些事1_第18张图片

STM32学习记录0008——GPIO那些事1_第19张图片
STM32学习记录0008——GPIO那些事1_第20张图片

1.3、STM32F10x GPIO引脚说明

(1)端口复用功能
什么是复用,简单理解,就是一个人大雄的语言天赋非常好,中文、英文、韩文、泰语他都会,他的老板慧总就只会中文,但是业务做得非常大,满世界的跑。就雇佣他做翻译。当老板去英国出差,他就给老板翻译英文;当老板去印度出差,他就给老板翻译泰语,就是他配置的有这个功能,然后老板要他翻译什么语言他就要翻译什么语言,而STM32的IO口有哪些功能我们可以在芯片数据数据手册里面查到,然后你就是它的老板,你要让他实现是什么功能它就能实现什么功能!
复用最大的作用就是最大化的使用IO口资源!!!和老板希望雇佣员工什么都会的员工基本一个道理!
芯片数据手册30页
STM32学习记录0008——GPIO那些事1_第21张图片

(2)端口重映射功能
什么是端口重映射呢,慧总这场去三亚出差,没有想到遇到一个马来西亚的客户,非常想要订购慧总公司的产品,但是这个人说的是马来文,而且这次慧总出差没有带大雄,而是只带了秘书小兰,于是小兰为慧总通过一个主意说,慧总我和大雄打着蓝牙电话,然后您和客户交流,我就临时充当您的翻译,和客户沟通。在这个过程当中,小兰通过一定的技术手段将大雄的翻译功能,临时赋予在自己身上,就是实现了翻译功能的重映射,对于IO口就是将原本是A9,A10的串口1功能,从新映射到了PB6,PB7引脚。
芯片数据手册33页
STM32学习记录0008——GPIO那些事1_第22张图片
芯片数据手册35页
STM32学习记录0008——GPIO那些事1_第23张图片

你可能感兴趣的:(#,STM32,stm32)