GPIO组态配置相关疑问,恳请赐教

2019-07-20 15:53发布

本帖最后由 Morgan 于 2017-3-23 23:10 编辑

各位大家好,小弟是刚入门的极新手,买的是探索者,对于GPIO的设置有些许疑问,恳请原子大哥与板上的各位前辈赐教。 推挽、开漏、上拉、下拉,有在此论坛搜过文章,小弟将其归纳成以下:
1.推挽: 由于输出力道强,所以高低电平,都能直接推动数字器件…等。2.开漏: 由于D极开路,所以只能拉低电平,要拉高电平,必须得靠上拉电阻。不过由于D极开路,所以可以靠外部的上拉电阻进行电位转换的功能。3.上拉: 将电阻的一端连接至电源,使其常态为高电平,用于输入时能使电位不浮动。4.下拉: 将电阻的一端连接至地,使其常态为低电平,用于输入时能使电位不浮动。
根据此图,假设今天小弟要设为输入模式,则对GPIO的初始化设置,除了Clock、哪一个pin等,需要关心的就是上拉或下拉,因为这关系到输入模式下的管脚的电位常态是高是低,而推挽和开漏则完全无需考虑,因为这是两块完全不同的套路。
然而小弟有疑问的地方在于输出的配置,当设为推挽输出时,GPIO_PuPd参数设为哪一个都无所谓,因为推挽本身就可以拉高和拉低电平,无须上下拉电阻,但小弟的疑问就在当设为开漏输出模式时,上下拉电阻对于开漏模式的影响。小弟的有尝试推测如果设置为上拉电阻,那这个开漏模式下就能自己拉高电平,因为有一个上拉电阻,然而在开漏模式下,设置为下拉电阻时,由于没有上拉电阻的帮忙,所以就无法输出高电平了,是这样吗?
如果在开漏模式下,想要透过外部上拉电阻转换电平准位,在GPIO_PuPd参数是否要设置成GPIO_PuPd_NOPULL,并且于芯片外部电路电阻和电源以供上拉转换呢? 那该电阻值该如何设计呢?
接着是复用功能的疑问,由于某些GPIO能转化成另外一种功能,也就是在GPIO_Mode设置为GPIO_Mode_AF的状态下,但小弟的疑问也跟着来了,假设小弟今天要使用串口,那我该怎么设置管脚为推挽或开漏又或者上下拉呢? 是否STM32F4方相关资料能参考的吗?
以上问题,小弟有请原子大哥与版上的前辈赐教,万分感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-20 19:19
 精彩回答 2  元偷偷看……
Morgan
2楼-- · 2019-07-20 21:09
正点原子 发表于 2017-3-23 23:05
1, 设置为开漏输出的时候,内部上拉电阻,可以拉高。但是更多的情况是外部电阻拉高。
2,外部电阻选取,这 ...

谢谢原子哥!

一周热门 更多>