找回密码
 注册
关于网站域名变更的通知
查看: 98|回复: 0
打印 上一主题 下一主题

STM32 GPIO有几种模式

[复制链接]
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
     楼主| 发表于 2024-10-24 17:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    # `5 D6 S7 E0 O: w9 X
    2 T; n" v* ?4 Z* t% w  R, u$ Z, z" s- [  n1 I( D$ V3 G4 K; A& ]: I1 A
    1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!弱强只是上拉电阻的阻值不同,没有什么严格区分。
    - Q5 P; I9 Q- W, b* F# c  X  m0 h0 i0 f
    & J" w0 N2 d' c8 }' m8 ^: h
    . j6 k- p3 u  _, I' h0 k7 b
    2、下拉输入:就是把电压拉低,拉到GND。与上拉原理相似。
    9 R. b; A3 h& |5 o/ }4 _# ]9 z( ?+ X0 e& T& Q/ d5 j
    5 F* q) \( U* _6 ?6 v& c

    ; ?% S' V! A1 N, ~# _# e3、浮空输入:浮空(floating)就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。 通俗讲就是让管脚什么都不接,浮空着。$ S/ Z  `1 Y! z
    3 p- q) ]% y" H0 v

    : x' G+ ~0 F. _- E, S
    6 T$ U' a. ~2 E4、模拟输入:模拟输入是指传统方式的输入.数字输入是输入PCM数字信号,即0,1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。
    " a$ ^$ A( v) |7 Q( ?$ M7 p3 L' n9 u6 L0 [- O3 J% t

    6 e4 a' z8 s( O+ z0 A+ P' k6 f$ A9 N; s; [
    5、推挽输出:可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。" q7 F0 r: e9 m1 k# f+ n$ K: I% q+ ]
    4 r( R' I4 \! }3 |/ v; B) `( U

    + H+ O) `- ~( b  f. t# g% U
      g0 Q( n6 N# u5 C6、开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内).9 x; }) T4 i  a3 I2 e! p% w% M8 _

    4 _6 Y+ m7 j0 U, M% i9 f- k1 J3 h8 K* E" F# Z. V8 B
    5 j, b" N  q$ F& t) t
    7、复用输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏)。
    0 W2 c9 [% m: C9 I
    * G' D+ B3 [; k2 i8 x
    0 Q6 q# `" _) J; i6 O- [! v6 Y1 t% D8 Y
    & `% a& `( b6 r
    在STM32中选用IO模式,下面是参考网上的总结一下。
    " d4 ]# C/ j6 p5 M! J$ h; e  B6 |$ Y1 f

    % p: o2 j! C' x% a8 ?5 W  a, }* g% w7 \
    (1)GPIO_Mode_AIN 模拟输入---应用ADC模拟输入,或者低功耗下省电& H" s/ D. W( {& X+ M! E$ i

    6 F- T* t; `7 ?0 k
    3 ~9 D9 [" X0 y& P; H6 L: v
    , i/ F3 q" x! q# B(2)GPIO_Mode_IN_FLOATING 浮空输入---可以做KEY识别0 n: |4 a$ u9 H  h3 R

    $ O, L+ T) D3 f$ D
    1 q# A) x) i! S: R/ x/ c
    5 b, H/ k9 x- _  O(3)GPIO_Mode_IPD 下拉输入--- IO内部下拉电阻输入2 ~# ?3 O4 r8 g9 B

    6 H3 X# a6 c! ]' l; ~" M8 P3 t# p. H3 ~7 K* i

    . ^3 j8 Y; [6 ~6 r/ t(4)GPIO_Mode_IPU 上拉输入---IO内部上拉电阻输入% S3 y8 V' c: t4 s5 l
    & v5 @  G4 G1 U% Y

    ! E% W6 E- d/ ?+ \" A( }. p# S: \" E+ Y! _, u5 s* f( t
    (5)GPIO_Mode_Out_OD 开漏输出---IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能" f  N  D4 n( p8 m
    : m  ]0 C  I, a- Y! ^3 ]. ^1 ]
    (6)GPIO_Mode_Out_PP 推挽输出---IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的- d8 ^& @" ]1 }2 q
    : t) O& i9 o5 h. W; j8 T. M. |( q
    (7)GPIO_Mode_AF_OD 复用开漏输出---片内外设功能(TX1,MOSI,MISO.SCK.SS)9 @+ E7 V" M! o
    ! l2 T, i7 q7 N- r7 b
    (8)GPIO_Mode_AF_PP 复用推挽输出---片内外设功能(I2C的SCL,SDA)# F" q$ A  i: I9 d& b# W
      u4 b" p: P- z& _! h0 O9 S
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-9-24 05:21 , Processed in 0.125000 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表