zoukankan      html  css  js  c++  java
  • stm32GPIO8种模式

    stm32GPIO工作模式及用途

       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、作为内置外设的输出:根据需要配置该引脚为复用推挽输出复用开漏输出,同时使能该引脚对应的所有复用功能模块。

  • 相关阅读:
    ASP.NET 点击前台服务器按钮后, 刷新. 重新执行 按钮事件
    动态绑定数据日历jquery
    前端及移动端学习 笔记 -待更新
    jq 兼容性 ie7,ie8
    jQuery中的$(window).load()与$(document).ready()
    SqlServer中循环和条件语句示例!
    调用一般处理程序 提供接口api
    background-position: -24px 0px
    中奖名单滚动
    在此上下文中不允许使用子查询
  • 原文地址:https://www.cnblogs.com/perl2py/p/6974063.html
Copyright © 2011-2022 走看看