首页 > 其他 > 详细

【1】STM32:GPIO管脚模式设置

时间:2020-10-08 18:41:36      阅读:35      评论:0      收藏:0      [点我收藏+]

一、 在STM32中选用IO模式      

  1.浮空输入GPIO_IN_FLOATING :浮空输入,可以做KEY识别,RX1

  2.带上拉输入GPIO_IPU:IO内部上拉电阻输入

  3.带下拉输入GPIO_IPD:IO内部下拉电阻输入

  4.模拟输入GPIO_AIN :应用ADC模拟输入,或者低功耗下省电

  5.开漏输出GPIO_OUT_OD 

    IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。

    当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。

    可以读IO输入电平变化,实现C51的IO双向功能

  6.推挽输出GPIO_OUT_PP:IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的

  7.复用功能的推挽输出GPIO_AF_PP:片内外设功能(I2C的SCL,SDA)

  8.复用功能的开漏输出GPIO_AF_OD:片内外设功能(TX1,MOSI,MISO.SCK.SS)

二、 STM32设置实例      

  1.模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);

       2.如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD;

三、 5种使用引脚功能方式

      1、作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。

      2、作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。

      3、作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。

      4、作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。

      5、作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。

    注意:

    如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。

    如要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。

    如果要使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚。

【1】STM32:GPIO管脚模式设置

原文:https://www.cnblogs.com/djcoder/p/13782148.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!