前言-(知道一个结论正确,也要知道它为什么正确)
最近,在调试uart串口的时候,被要求,要在串口初始化的时候,将引脚设为上拉。由此想到了为什么要上拉这个问题,但上网查了资料,发现大部分都是是说RX应该上拉,但是为什么上拉,没有什么人说的清楚,于是想深入找下原因。
问题描述
预先假设问题,知道自己要问什么,缕清问题本身。如果自己脑袋里一团乱麻,莫能两可,那对于所掌握的知识也不准确。
- RX 是 应该软件内部上拉,还是加入外部电阻上拉?
- TX 是否 也需要 软件内部上拉,或者 需要外部电阻上拉?
- 如果加入外部上拉电阻一般是多少?
查找过程
(1)上网查资料
1、在CSDN找到几篇文章,涉及上拉电阻问题,认为描述较好的一篇放在下面了.
这一篇博主收集了很多讨论,有借鉴价值。
链接:https://blog.csdn.net/sinat_16643223/article/details/119208104
2、自己在网上也搜索了一些,也有借鉴价值,我直接将翻译好的截图放在下边了。网络限制,可能无法访问。
https://electronics.stackexchange.com/questions/270834/pull-up-resistors-on-uart
(2)请教大佬
请教了一个专业大佬,根据对大佬的话语理解,总结了以下三点,或者说是需要验证一下内容。
- 需要查芯片内部框图
- 外设上是否有上拉
- Tx不用管,本身有推挽。
- 查找样例代码,看看人家怎么做的
(3)查代码-找手册-验证
(1)查找样例代码,看看ST样例代码中是否全部上拉。
自己之前调试代码一直使用的是STM32cubeIDE,这个软件有个样例库,如果都是默认安装的话,会在如下路径下找到样例代码路径。
具体随便选中一个文件
在HAL库代码文件stm32f4xx_hal_msp.c下,有如下内容,就是说ST官方给的样例,并没有强制上拉,但是我没有对应板子,所以不清楚外设上连接方式,以及有没有上拉电阻。
(2)查找样例代码,看看正点原子代码是否有上拉电阻。
找到正点原子HAL库代码,在代码中看到如下内容。
正点原子代码内部确实上拉了,那么看看F4板子上是否有上拉电阻,原理图如下,可以看到并没有外部的上拉电阻。
这个外接器件CH340G也查了下手册,发现找到英文的datasheet没说,但是中文翻译过来的手册有说明,手册链接如下。
https://download.csdn.net/download/qq_22146161/80134371
其中在中文手册里有这样的一句话,可以理解这个芯片内部有上下拉电阻了。
(3)在查找过程中,发现需不需要加上拉,跟芯片工作模式有关系,跟芯片本身有关系。在查F4中文参考手册中发现如下“STM32F4xx中文参考手册.pdf”。
一些参考资料链接
(1)CSDN链接:
https://blog.csdn.net/weixin_46146288/article/details/112681794
(2)CSDN链接:
https://blog.csdn.net/weixin_49770585/article/details/115460495
(3)查找STM32系列具体型号STM32F103内部弱上下拉电阻一般为40K
https://www.pianshen.com/article/8441785505/
或者
https://blog.csdn.net/wuhuijun165/article/details/49518575文章来源:https://www.toymoban.com/news/detail-428755.html
现有结论汇总叙述
按照问题以及自己查到资料汇总,总结出以下几点,以供参考,如果有了新知,请留言指正,我会及时更改。文章来源地址https://www.toymoban.com/news/detail-428755.html
- RX 是 应该软件内部上拉,还是加入外部电阻上拉?
这个需要根据芯片实际情况,查芯片IO硬件框图确定,现在大部分芯片内部,已经自动集成了一个弱上拉电阻,一般不需要外部电阻上拉,只需要在软件配置时,配上上拉即可。 - TX 是否 也需要 软件内部上拉,或者 需要外部电阻上拉?
这个也要根据芯片实际情况,一般情况下,不需要软件内部上拉 和 外部电阻上拉,在GPIO工作在推挽模式下,其实已经算是有了这个电阻。 - 如果加入外部上拉电阻一般是多少?
根据现有查到资料而言,大部这个外部上拉电阻都是10K,其实如果你不确定你的芯片是否有芯片内部的弱上拉或者弱下拉,可以预先在PCB绘图时留下两个封装,到时候不焊接即可。
到了这里,关于# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!