高级会员

- 积分
- 616
- 金钱
- 616
- 注册时间
- 2014-2-26
- 在线时间
- 1 小时
|
发表于 2014-3-4 17:34:13
|
显示全部楼层
首先看输入模式:
上拉输入就是:IO口通过一个电阻接VDD(即高电平),在没有输入的情况下 IO口呈现高电平 由电路图也可以看出来
下拉输入就是:IO口通过一个电阻接VSS(即低电平),在没有输入的情况下 IO口呈现低电平
浮空输入就是:即不接高电平也不接低电平,此时在没有输入的情况下,呈现高阻态 这是由于IO口直接和图中的施密特触发器相连接导致 (图中的肖特基触发器是翻译错误 看英文原版可以验证)
上面的三中状态分别对应了 数字电路中常见的 高电平 低电平和高阻态三中状态 施密特触发器在这里应该是具有一定的信号整形和消抖的作用
另外看输出:
推挽输出:即当输出控制给1 则P管导通 n管截止,这样与IO口相连接的外设实际是通过MOS管来驱动的 即可以输出大电流 这和我们在驱动蜂鸣器的时候要接三极管是一样的道理
当输出控制给0,则n管导通,p管截止,IO口相当于直接接地,同时具有很强灌电流的能力
总之推免输出的特点就是:大电流,强驱动能力 通常在驱动LED时使用
开漏输出:我认为它和数字电路中的OD门是一样的, 即去掉p管,只受n管控制,这样IO口通过一个电阻接VDD可以实现电平转换,同时具有吸收大电流和可以实现线与连接的作用
用开漏输出去驱动LED,效果和推挽输出差不多,这个我试过。另外,我们通常是在实现电平转换的时候使用这个功能
复用推挽和复用开漏是在需要使用 GPIO复用功能的时候使用 至于什么情况下使用复用推挽什么情况下使用复用开漏 可以参考 stm32中文手册的8.1.11 外设的GPIO设置章节
最后就是 模拟输入,我不是很懂 ,我也没有使用过。
以上是我自己的一些看法,有错误的地方,请大家指正,相互学习。
|
|