关于stm32的GPIO的操作.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于stm32的GPIO的操作 ⾸先先了解⼀下输出的模式 ⽐较常⽤的是 推挽输出 1)GPIO_Mode_AIN 模拟输⼊ (2)GPIO_Mode_IN_FLOATING 浮空输⼊ (3)GPIO_Mode_IPD 下拉输⼊ (4)GPIO_Mode_IPU 上拉输⼊ (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复⽤开漏输出 (8)GPIO_Mode_AF_PP 复⽤推挽输出 ⾸先简述⼀下stm3的gpio 接⼝(interface):主机(CPU)与外部设备(指MCU⽚上外设)之间缓冲电路。它⽤于完成主机与外部设备设间速度匹配、信号转换, 并完成某些控制功能。按数据的传输⽅式可分为并⾏接⼝和串⾏接⼝,并⾏接⼝指⼀般I/O接⼝或通⽤I/O接⼝,⽽串⾏接⼝有 I2C/SPI/UART等等。 端⼝(port):I/O接⼝电路中已经编址并能进⾏读写操作的寄存器。端⼝分为数据端⼝、状态端⼝及控制端⼝,普遍存在于各个接⼝电路 中。每个接⼝电路中都包含⼀组寄存器,CPU与外部设备进⾏信息交换时,各类信息在接⼝中存⼊不同的寄存器,这些寄存器就是I/O端 ⼝,简称I/O⼝,也称为I/O端⼝寄存器。 引脚(pin):集成电路与外围电路连接的管脚。 接⼝(端⼝)概念是对并⾏接⼝和串⾏接⼝(I2C/SPI/UART等⽚上外设)⽽⾔的,MCU中⼤多数的功能模块都有接⼝电路。狭义上,端 ⼝概念往往特指I/O并⾏接⼝电路中的寄存器。此外,通常我们所说的“I/O⼝”指的就是“I/O端⼝”。 ⼀、GPIO的模式选择 通过GPIO模式寄存器GPIOx_MODER(x是端⼝名称,x=A…I/J/K)来设置GPIO端⼝位的⽅向: 1、输⼊模式(复位状态) 2、GPIO输出模式 3、复⽤功能模式 4、模拟功能模式 GPIOx_MODER的设置⽅法,详见技术参考⼿册TRM。 ⼆、GPIO端⼝寄存器 每个I/O端⼝均有下列寄存器,每个端⼝位均可⾃由编程,但I/O端⼝寄存器必须按32位字、半字或字节被访问。其中,GPIOx_BSRR寄存 器旨在实现对GPIOx_ODR寄存器进⾏原⼦读取/修改访问,具有对GPIOx_ODR按位写权限。 1、4个32位配置寄存器:GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR、GPIOx_PUPDR,这些寄存器位可通过软件写⼊。 其中,输出类型寄存器GPIOx_OTYPER是⽤1个寄存器位设置1个I/O位,其他配置寄存器均是⽤2个寄存器位设置1个I/O位。 GPIOx_MODER:选择I/O端⼝⽅向为 输⼊/通⽤输出/AF/模拟,复位状态为输⼊。 GPIOx_OTYPER:选择输出类型为 推挽/开漏,复位状态为推挽输出。 GPIOx_OSPEEDR:选择I/O输出驱动电路的响应速度为 低速/中速/快速/⾼速,⽤于噪声控制。(由下⾯Table 22. Port bit configuration table 可知,这个速度寄存器只对输出模式和AF起作⽤)。 注意:GPIO的引脚速度是指I/O⼝驱动电路的响应速度⽽不是输出信号的速度,输出信号的速度与程序有关。此外,如果较⾼频率的信号经 过较低频率的驱动电路输出,那么输出的信号就会产⽣失真,所以驱动电路的频率和信号的频率之间满⾜采样定理的要求。驱动电路的频率 应该适当不能过⼤(建议10~20倍于信号的频率),以便降低噪声、功耗和电磁辐射。 GPIOx_PUPDR:选择I/O端⼝为 ⽆上拉或下拉/上拉/下拉/保留(与IO端⼝⽅向⽆关)。 2、2个32位数据寄存器:GPIOx_IDR、GPIOx_ODR GPIOx_IDR:这些寄存器位为只读 形式,并且只能在字模式下访问。 GPIOx_ODR:这些寄存器位可通过软件读取和写⼊。 3、1个32位置位复位寄存器:GPIOx_BSRR GPIOx_BSRR低半字⽤来置位GPIOx_ODR,即写⼊“1”,⽽⾼半字⽤来复位GPIOx_ODR,即写⼊“0”。GPIOx_BSRR旨在对 GPIOx_ODR寄存器进⾏原⼦读写操作,它只能在字、半字、字节模式下被访问对GPIOx_ODR进⾏原⼦操作。 4、1个32位锁定寄存器:GPIOx_LCKR 锁定寄存器GPIOx_LCKR的每个锁定位⽤于锁定端⼝位的配置。冻结的寄存器包括:GPIOx_MODER、GPIOx_OTYPER、 GPIOx_OSPEEDR、GPIOx_PUPDR、GPIOx_AFRH、GPIOx_AFRL,它只能以

文档评论(0)

180****2153 + 关注
实名认证
文档贡献者

上班族,没事喜欢上网、看书、听音乐。

1亿VIP精品文档

相关文档