打印

关于STM32 IO配置模式

[复制链接]
6473|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sddds|  楼主 | 2012-5-16 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用一个IO口控制led灯 当我配置为GPIO_Mode_Out_OD可以正常亮灭,GPIO_Mode_Out_PP也可以正常亮灭。应用哪个
按键输入 GPIO_Mode_IN_FLOATING,  GPIO_Mode_IPD ,GPIO_Mode_IPU ,这三个都没问题
这些应该怎么选择呀 谢谢
沙发
sjnh| | 2012-5-17 08:13 | 只看该作者
根据你外部电路选择:
led灯 当我配置为GPIO_Mode_Out_OD可以正常亮灭,GPIO_Mode_Out_PP也可以正常亮灭
说明是下拉点亮LED,如果引脚没有其它链接,2种模式都可以,没有什么区别。

至于按键,一般是利用内部上下拉外面就可以不加电阻了,如果是 GPIO_Mode_IN_FLOATING,外面需要加上拉或下拉电阻。
如果3个模式都可以,说明你外面加的电阻相对内部电阻来说阻值太小,不然肯定会有一个模式无法使用。

使用特权

评论回复
板凳
airwill| | 2012-5-17 08:38 | 只看该作者
GPIO_Mode_IN_FLOATING,  GPIO_Mode_IPD ,GPIO_Mode_IPU ,这三个都没问题

确实是的, 三个都没有问题, 但细节上说, 三个是有区别的。
GPIO_Mode_IN_FLOATING,  内部不带上下拉,可以根据外部电路灵活确定上下拉电阻
GPIO_Mode_IPD ,            内部下拉, 通常按键会出高电平时使用
GPIO_Mode_IPU ,            内部上拉, 通常按键会出低电平时使用。

本人认为:按键采样包括其他输入方式,尽量使用上下拉方式,避免输入浮置,导致干扰。
但是由于内部上下拉太弱,都 20K 以上,抗扰能力很差,不推荐在采集按键是仅使用内部的上下拉。

使用特权

评论回复
地板
sddds|  楼主 | 2012-5-17 09:45 | 只看该作者
谢谢 二位的解释 白天太忙 晚上再好好的看

使用特权

评论回复
5
sddds|  楼主 | 2012-5-17 21:47 | 只看该作者
io口的复用是以什么为决定的 是复用输出  还是 配置AFIO_MAPR决定的
为什么 串口 Tx设置为GPIO_Mode_AF_PP 复用推挽输出
而Rx 设置为GPIO_Mode_IN_FLOATING  浮空输入  
是不是串口 一个设为复用就表示 RX TX 是使用复用了
比如 USART2 我复用RX TX  其他三个引脚CTS、RTS、CK是不是默认就复用了 还可以按io口使用吗

使用特权

评论回复
6
sddds|  楼主 | 2012-5-18 14:45 | 只看该作者
仔细看了看资料
对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部
驱动
还是不明白USART2 我复用RX TX  其他三个引脚CTS、RTS、CK是不是默认就复用了 还可以按io口使用吗

使用特权

评论回复
7
寂寞西瓜| | 2012-5-18 15:17 | 只看该作者
USART2 职能整体复用,的确其他三个引脚都复用了,不能再当做io用
usart3倒是可以部分复用
具体可以查下afio部分

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

21

帖子

1

粉丝