logo

您所在位置网站首页 > 海量文档  > 企划文宣(应用文书) > 商业策划书

通用输入输出接口GPIO.ppt 31页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
通用输入输出接口GPIO Agenda GPIO功能描述 GPIO基本结构 GPIO编程 GPIO应用实例 GPIO功能描述 STM32F10x处理器上共有7个I/O端口:A、B、C、D、E、F、G,每个16个管脚。每个GPIO端口都对应有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH)、两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR)、一个32位置位/复位寄存器(GPIOx_BSRR)、一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 注意,I/O寄存器必须以32位字形式访问(不允许半字或字节访问)。 I/O基本结构 通过配置寄存器可很容易配置每组端口来满足不同系统以及设计的需要,端口的每一位都可以设置为:输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、推挽式输出、复用功能(推挽式)、复用功能(开漏式)等模式之一。 在运行程序之前必须对每个用到的管脚功能进行设置,如果某些管脚的复用功能没有使用,可以先将该管脚设置为I/O口。 所有GPIO引脚有一个内部弱上拉和弱下拉电阻,当配置为输入时,它们可以被激活也可以不被激活。 GPIO编程 端口配置寄存器(低位) 端口配置寄存器(低位)(GPIOA_CRL- GPIOG_CRL) 在STM32F10x处理器中大多数的管脚都可以复用,因此必须对每个管脚进行配置。低位配置寄存器用来设置端口低8位的工作模式。端口配置寄存器(低位)如下图所示,各位的含义如下表所列。该寄存器的地址偏移量为00h(所有GPIO控制寄存器的地址都从0x4001 0800处开始),复位值为4444 4444h。 端口配置寄存器(低位) 端口配置寄存器(高位) 端口配置寄存器(高位)(GPIOA_CRH- GPIOG_CRH) 高位配置寄存器用来设置端口高8位的工作模式。端口配置寄存器(高位)如下图所示,各位的含义与低位的完全类似所列。该寄存器的地址偏移量为04h,复位值为4444 4444h。这些寄存器只能以字的形式进行读写。 端口数据输入寄存器 端口数据输入寄存器(GPIOA_IDR- GPIOG_IDR) 如果端口被配置成了输入端口,可以从GPIOx_IDR (x=A..G)相应位读数据,如下图所示,其低16位分别对应每个引脚,高16位保留。该寄存器地址偏移为08h,复位值为00000000h。这些寄存器只能以字的形式进行读取。 端口数据输出寄存器 端口数据输出寄存器(GPIOA_ODR- GPIOG_ODR) 如果端口被配置成了输出端口,可以向GPIOx_ODR (x=A..G)相应位读或写数据。如下图所示,其低16位分别对应每个引脚,高16位保留。该寄存器的地址偏移为0Ch,复位值为0000 0000h。这些寄存器只能以字的形式进行读写。 端口置位复位寄存器 端口置位复位寄存器(GPIOA_BSRR- GPIOG_ BSRR) 通过置位复位寄存器,可以对端口数据输出寄存器(GPIOA_ODR- GPIOG_ODR)每一位进行置1和复位操作,如下图所示,寄存器各位的定义见下表。该寄存器的地址偏移为10h,复位值为0000 0000h。 端口置位复位寄存器 端口复位寄存器 端口复位寄存器(GPIOA_BRR- GPIOG_ BRR) 通过复位寄存器,可以对端口数据输出寄存器(GPIOA_ODR- GPIOG_ODR)每一位进行复位操作,如下图所示,寄存器各位的定义见下表。该寄存器的地址偏移为14h,复位值为0000 0000h。 端口配置锁定寄存器 端口配置锁定寄存器(GPIOA_LCKR- GPIOG_ LCKR) 端口配置锁定寄存器的每一位用来锁定控制寄存器(CRL, CRH)相应的4位。端口配置锁定寄存器如下图所示,寄存器定义见下表,当执行正确的写序列设置了位LCKK时,该寄存器用来锁定端口位的配置。位[15:0]用于锁定GPIO端口的配置。在规定的写入操作期间,不能改变LCKR[15:0]。当对相应的端口位执行了LOCK序列后,在下次系统复位之前将不能再更改端口位的配置,直到下次复位后解锁。该寄存器的地址偏移为18h,复位值为0000 0000h。 端口配置锁定寄存器 STM32固件库 STM32固件库(Firmware Library)是一个固件函数包,它由程序、数据结构和宏组成,包括了MCU所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。 参考《ARM?-based 32-bit MCU STM32F101xx and S

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556