CH03-02-STM32的GPIO模块原理.pptx
《CH03-02-STM32的GPIO模块原理.pptx》由会员分享,可在线阅读,更多相关《CH03-02-STM32的GPIO模块原理.pptx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统原理与开发设计主讲人:赖树明东莞理工学院STM32的GPIO模块原理0101 STM32F4 GPIO模块原理GPIO口介绍GPIO相关寄存器外设时钟使能寄存器寄存器表示GPIO 控制LED实验示例STM32F40 xGPIO控制 GPIO口概述01GPIO口就MCU用来连接外部世界、与外界交换数据的桥梁。p51单片机:IO口是分组的,每组8个,IO口分组用数字表示。P2、P1口只有输入输出功能;P3口上还能复用成串口、定时器等;pSTM32单片机:IO口功能比较多,比较复杂;IO口同样是分组的方式,每组16个,命名的方式为英文字母,(比如:STM32F407ZGT6:AG-共112
2、个)概念51和STM32 GPIOSTM32F40 xGPIO控制 GPIO口介绍01p受控 I/O 多达 16 个p输出状态:推挽或开漏+上拉/下拉 -提升驱动能力p从输出数据寄存器(GPIOx_ODR)或外设(复用功能输出)输出数据p可为每个 I/O 选择不同的输出速度p输入状态:浮空、上拉/下拉、模拟 p将数据输入到输入数据寄存器(GPIOx_IDR)或外设(复用功能输入)p置位和复位寄存器(GPIOx_BSRR),对 GPIOx_ODR 具有按位写权限p锁定机制(GPIOx_LCKR),可冻结 I/O 配置p模拟功能p复用功能输入/输出选择寄存器(一个 I/O 多达16 个复用功能)p
3、快速翻转,每次翻转最快只需要两个时钟周期p引脚复用非常灵活,允许将 I/O 引脚用作 GPIO 或多种外设功能中的一种STM32 GPIO特征STM32F40 xGPIO控制 GPIO口介绍01 输入浮空 输入上拉 输入下拉 模拟功能 具有上拉或下拉功能的开漏输出 具有上拉或下拉功能的推挽输出 具有上拉或下拉功能的复用功能推挽 具有上拉或下拉功能的复用功能开漏STM32F4 GPIO功能STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 端口模式寄存器(GPIOx_MODER)(x=A.I)MODERy1:0:端口 x 配置位 (y=0.15)用于配置 I/O 方向模式
4、。00:输入(复位状态)01:通用输出模式10:复用功能模式 11:模拟模式示例:GPIOB的第3个管脚为输出模式?GPIOB_MODER&=(0 x3 6);GPIOB_MODER|=(0 x1 6);STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 端口输出类型寄存器(GPIOx_OTYPER)(x=A.I)这些位通过软件写入,用于配置 I/O 端口的输出类型。位 31:16 保留,必须保持复位值。位 15:0 OTy1:0:端口 x 配置位(y=0.15)0:输出推挽(复位状态)1:输出开漏STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明 GP
5、IO 端口输出速度寄存器(GPIOx_OSPEEDR)(x=A.I/)用于配置 I/O 输出速度。OSPEEDRy1:0:端口 x 配置位(y=0.15)00:2 MHz(低速)01:25 MHz(中速)10:50 MHz(快速)11:30 pF 时为 100 MHz(高速)说明:GPIO口的速度越快,功耗越高。STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明 GPIO 端口上拉/下拉寄存器(GPIOx_PUPDR)(x=A.I/)用于配置 I/O 上拉或下拉。PUPDRy1:0:端口 x 配置位 (y=0.15)00:无上拉或下拉(浮空)01:上拉 10:下拉 11:保留S
6、TM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 端口输入数据寄存器(GPIOx_IDR)(x=A.I)这个寄存器数值反应了当前IO口的状态结果。这些位为只读形式,只能在只读模式下访问,包含相应 I/O 端口的输入值。位 31:16 保留,必须保持复位值。位 15:0 IDRy15:0:端口输入数据(y=0.15)STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明端口输出数据寄存器(GPIOx_ODR)(x=A.I)该寄存器写1/0即可控制IO引脚上的电平状态。位 31:16 保留,必须保持复位值。位 15:0 ODRy15:0:端口输出数据(y=0.1
7、5)STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 端口置位/复位寄存器(GPIOx_BSRR)(x=A.I)该寄存器可以控制GPIO引脚的电平,输出高电平和输出低电平位分别是使用低16位和高16位实现。注意:1)该寄存器对写0不敏感,往任何一个位写0时,GPIO引脚电平不会发生任何变化;2)输出高电平或低电平都是往对应的位写1,而不是写0。3)如果同时对 BSx 和 BRx 置位,则 BSx 的优先级更高。31:16 BRy:端口 x 复位位 y (y=0.15)(让IO口输出低电平)0:不会对相应的 ODRx 位执行任何操作;1:对相应的 ODRx 位进行复位
8、示例:GPIOC的第4个端口输出低电平。GPIOC_BSRR|=1 20;STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明 GPIO 端口配置锁定寄存器(GPIOx_LCKR)(x=A.I)锁定寄存器:锁定IO口的模式,一旦锁定,程序中不能修改IO口的模式了,想要修改,必须重新下载新的程序。位 31:17 保留,必须保持复位值;位 16 LCKK16:锁定键(Lock key)0:端口配置锁定键未激活。1:端口配置锁定键已激活。锁定键写序列:WR LCKR16=1+LCKR15:0 WR LCKR16=0+LCKR15:0WR LCKR16=1+LCKR15:0 RD LCK
9、RRD LCKR16=1(此读操作为可选操作,但它可确认锁定已激活)位 15:0 LCKy:端口 x 锁定位 y (y=0.15)这些位只能在 LCKK 位等于“0”时执行写操作。STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 复用功能低位寄存器(GPIOx_AFRL)(x=A.I)该寄存器用于配置复用功能 I/O,一个引脚除输出输出功能外,还会有利用的功能。位 31:0 AFRLy:端口 x 位 y 的复用功能选择(y=0.7)AFRLy 选择:0000:AF00100:AF41000:AF81100:AF120001:AF10101:AF51001:AF9110
10、1:AF130010:AF20110:AF61010:AF101110:AF140011:AF30111:AF7 1011:AF111111:AF15STM32F40 xGPIO控制 GPIO相关寄存器01寄存器说明GPIO 复用功能低位寄存器(GPIOx_AFRL)(x=A.I)0000:AF00001:AF10010:AF20011:AF30100:AF40101:AF50110:AF60111:AF7 1000:AF81001:AF91010:AF101011:AF111100:AF121101:AF131110:AF141111:AF15STM32F40 xGPIO控制 GPIO相关寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CH03 02 STM32 GPIO 模块 原理
限制150内