# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻

这篇具有很好参考价值的文章主要介绍了# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言-(知道一个结论正确,也要知道它为什么正确)

最近,在调试uart串口的时候,被要求,要在串口初始化的时候,将引脚设为上拉。由此想到了为什么要上拉这个问题,但上网查了资料,发现大部分都是是说RX应该上拉,但是为什么上拉,没有什么人说的清楚,于是想深入找下原因。

问题描述

预先假设问题,知道自己要问什么,缕清问题本身。如果自己脑袋里一团乱麻,莫能两可,那对于所掌握的知识也不准确。

  1. RX 是 应该软件内部上拉,还是加入外部电阻上拉?
  2. TX 是否 也需要 软件内部上拉,或者 需要外部电阻上拉?
  3. 如果加入外部上拉电阻一般是多少?

查找过程

(1)上网查资料

1、在CSDN找到几篇文章,涉及上拉电阻问题,认为描述较好的一篇放在下面了.
这一篇博主收集了很多讨论,有借鉴价值。
链接:https://blog.csdn.net/sinat_16643223/article/details/119208104
2、自己在网上也搜索了一些,也有借鉴价值,我直接将翻译好的截图放在下边了。网络限制,可能无法访问。
https://electronics.stackexchange.com/questions/270834/pull-up-resistors-on-uart
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻

(2)请教大佬

请教了一个专业大佬,根据对大佬的话语理解,总结了以下三点,或者说是需要验证一下内容。

  1. 需要查芯片内部框图
  2. 外设上是否有上拉
  3. Tx不用管,本身有推挽。
  4. 查找样例代码,看看人家怎么做的

(3)查代码-找手册-验证

(1)查找样例代码,看看ST样例代码中是否全部上拉。
自己之前调试代码一直使用的是STM32cubeIDE,这个软件有个样例库,如果都是默认安装的话,会在如下路径下找到样例代码路径。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻

具体随便选中一个文件
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
在HAL库代码文件stm32f4xx_hal_msp.c下,有如下内容,就是说ST官方给的样例,并没有强制上拉,但是我没有对应板子,所以不清楚外设上连接方式,以及有没有上拉电阻。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
(2)查找样例代码,看看正点原子代码是否有上拉电阻。
找到正点原子HAL库代码,在代码中看到如下内容。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
正点原子代码内部确实上拉了,那么看看F4板子上是否有上拉电阻,原理图如下,可以看到并没有外部的上拉电阻。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
这个外接器件CH340G也查了下手册,发现找到英文的datasheet没说,但是中文翻译过来的手册有说明,手册链接如下。
https://download.csdn.net/download/qq_22146161/80134371
其中在中文手册里有这样的一句话,可以理解这个芯片内部有上下拉电阻了。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻
(3)在查找过程中,发现需不需要加上拉,跟芯片工作模式有关系,跟芯片本身有关系。在查F4中文参考手册中发现如下“STM32F4xx中文参考手册.pdf”。
# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻

一些参考资料链接

(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

  1. RX 是 应该软件内部上拉,还是加入外部电阻上拉?
    这个需要根据芯片实际情况,查芯片IO硬件框图确定,现在大部分芯片内部,已经自动集成了一个弱上拉电阻,一般不需要外部电阻上拉,只需要在软件配置时,配上上拉即可。
  2. TX 是否 也需要 软件内部上拉,或者 需要外部电阻上拉?
    这个也要根据芯片实际情况,一般情况下,不需要软件内部上拉 和 外部电阻上拉,在GPIO工作在推挽模式下,其实已经算是有了这个电阻。
  3. 如果加入外部上拉电阻一般是多少?
    根据现有查到资料而言,大部这个外部上拉电阻都是10K,其实如果你不确定你的芯片是否有芯片内部的弱上拉或者弱下拉,可以预先在PCB绘图时留下两个封装,到时候不焊接即可。

到了这里,关于# STM32系列-串口-uart-软件引脚内部上拉 或者 外部电阻上拉-原因问题的搜寻的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【单片机】基于STM32的UART串口通信

    简单讲解一下UART通信协议,以及UART能够实现的一些功能,还有有关使用STM32CubeMX来配置芯片的一些操作。实验内容基于 正点原子精英板 开发板,单片机芯片为 STM32F103ZET6 。 在后面我会以我使用的STM32F429开发板来举例讲解(其他STM32系列芯片大多数都可以按照这些步骤来操作

    2024年01月17日
    浏览(79)
  • K210 UART串口通信介绍与 STM32通信

    目录 K210-UART串口通信相关函数: 使用K210串口的时候需要映射引脚: K210与STM32串口通信  发送单字节: K210端 STM32端 发送数据包 K210端 STM32端  K210的UART模块支持全双工通信,可以同时进行数据的发送和接收。在K210上使用UART串口通信,你可以连接外部设备,如传感器、显示器

    2024年03月23日
    浏览(47)
  • stm32---串口接收与发送(针对USART1的Rx和Tx引脚)

             

    2024年02月04日
    浏览(48)
  • STM32 UART串口通信IDLE空闲中断的使用步骤

    参考了各路大神的资料,蒙蔽了半天,终于学会了,记录一下,以后忘了可以回来复习参考。 一、首先在stm32cube中配置打开对应uart串口的中断 二、工程main函数调用 __HAL_UART_ENABLE_IT(huart1,UART_IT_IDLE);//hal库宏定义,使能串口空闲中断     HAL_UART_Receive_DMA(huart1,data,sizeof(data));//使

    2024年02月12日
    浏览(43)
  • STM32实现UART-CAN融合式高速串口

    STM32的UART硬件电路,在进行线接传输时,一般低于230400bps的波特率,因为单端信号传输的特性,限制了传输距离和传输速度。而在同一块PCB板內进行短距离UART传输,则可以达到2Mbps及至4Mbps的传输速率,所以STM32的UART接口,能支持配置为2M或4M波特率。 如果要实现接线方式的串

    2024年02月04日
    浏览(69)
  • STM32CubeMx+MATLAB Simulink串口输出实验,UART/USART串口测试实验

    STM32CubeMx+MATLAB Simulink串口输出实验

    2024年02月21日
    浏览(45)
  • 基于树莓派4B与STM32的UART串口通信实验(代码开源)

    前言: 本文为手把手教学 树莓派4B与 STM32 的 UART 通讯 ,本次项目采用 树莓派4B 与  STM32  进行串口通讯,将彼此的数据进行互相传输。本篇博客同时提供了基于 YOLOv5-Lite 的目标检测数据联动,即将 树莓派4B 检测到的信息发送至 STM32 ,后续可以通过这些信息进行各种需求上

    2024年02月16日
    浏览(42)
  • 【STM32】HAL库UART含校验位的串口通信配置BUG避坑

    【STM32】HAL库UART含校验位的串口通信配置BUG避坑 UART通过一条线就能完成数据的发送 另外一条线则完成数据的接收 所以一共是两条线 TX RX UART在空闲时为低电平 时钟周期由波特率确定 通常是115200bit/s UART协议由四个部分组成: 起始位: 固定低电平 1个时钟周期 数据域: 通常

    2024年01月20日
    浏览(50)
  • stm32中HAL_UART_Transmit_DMA,串口只能发送一次。

    配置串口+DMA不产生DMA中断方式, 1、HAL_UART_Transmit_DMA中调用HAL_DMA_Start_IT,在HAL_DMA_Start_IT中虽然开启了三个中断:hdma-Instance-CR  |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME,但是没有开DMA总中断,所以这3个不起作用;同时,锁住DMA( __HAL_LOCK(hdma))。如果开启DMA总中断,完成DMA后会调用下

    2024年04月28日
    浏览(45)
  • (stm32之HAL库)UART工作在DMA模式要打开串口中断吗?

    最近学习了stm32(F4xx)的串口在DMA模式下的使用,期间以ST官方提供的例程进行参考学习,发现其初始化过程中是打开了UART的中断的,而且HAL库中stm32f4xx_hal_uart.c文件中的DMA模式使用说明里也有这么一句话: 即在非循环模式下(也就是发完一次数据就停止的常用模式)需要配置

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包