打印
[STM32F4]

【思考,兄弟们速来】关于输入捕获试验中为何设置为推...

[复制链接]
864|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sc1884|  楼主 | 2017-7-27 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题,关于输入捕获试验中为何设置为推挽或者开漏输出?
初学stm32,最近闲着没事看代码发现个问题,这个输入捕获试验中,管脚不该是要能输入吗,为何要配置为:
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
看了看数据手册,对于AF配置有如下描述
7.3.11 复用功能配置
对 I/O 端口进行编程作为复用功能时:
● 可将输出缓冲器配置为开漏或推挽
● 输出缓冲器由来自外设的信号驱动(发送器使能和数据)
● 施密特触发器输入被打开
● 根据 GPIOx_PUPDR 寄存器中的值决定是否打开弱上拉电阻和下拉电阻
● 输入数据寄存器每隔 1 个 AHB1 时钟周期对 I/O 引脚上的数据进行一次采样
● 对输入数据寄存器的读访问可获取 I/O 状态

根据步骤,管脚复用初始化时,会先配置输出缓冲器的开漏或者推挽,以便让外设发送使能和数据
,第三步打开施密特触发器,进而能够接收来自管脚的电平。这是否说明,对于管脚的任何外设复用功能,都会配置输出输入,施密特触发器在配置复用功能时就已经打开,我们只需要配置输出的模式为PP或者OD即可,虽然在输入捕获模式里,输出这项功能貌似没什么用,但在某些应用场景下,需要用到输出??
另一个问题就是,为何在f103版本中,设置的就是输入?没用过103,只能猜测这可能和f1和f4管脚或者st设定的差异了.
沙发
sc1884|  楼主 | 2017-7-27 10:53 | 只看该作者

使用特权

评论回复
板凳
mmuuss586| | 2017-7-27 14:50 | 只看该作者
配置成上拉输入

使用特权

评论回复
地板
sc1884|  楼主 | 2017-7-27 17:23 | 只看该作者

参考的是正点原子的代码,是配置成推挽输出的

使用特权

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

本版积分规则

1

主题

65

帖子

0

粉丝