找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3696|回复: 4
收起左侧

关于STM32串口通信问题,为什么RTS和DTR要同时打开?

[复制链接]
ID:497581 发表于 2021-7-31 15:59 | 显示全部楼层 |阅读模式
100黑币
本帖最后由 y277195 于 2021-7-31 16:47 编辑

如图,就是我自己根据最小系统原理图画了一个最小系统的32板子。然后自己焊的芯片,电容跟电阻。但是下载串口实验进行测试的时候,发现在串口软件中只有同时打开RTS和DTR,串口才能接收到信号。然后我又用正点原子的最小系统板测试了一次,正点原子的最小系统板不需要打开这二个开关就能就行串口通信。实在是想不出来原因,有没有懂的大佬带带我这个刚入门的小菜鸡

qq_pic_merged_1627717130691.jpg
回复

使用道具 举报

ID:584195 发表于 2021-8-5 07:33 | 显示全部楼层
你的图看不到。。。
回复

使用道具 举报

ID:752974 发表于 2021-8-7 08:31 | 显示全部楼层
RTS和DTR这两个信号线是给慢速设备使用的,对于单片机和PC,单片机和单片机之间通信,是可以不用的。对你的问题,在保证硬件连接正常下,仔细检查软件。
回复

使用道具 举报

ID:94031 发表于 2021-8-7 09:25 | 显示全部楼层
RTS和DTR操作这是上位机软件编程问题,单片机串口没有用RTS和DTR控制线,你提到软件一个由人工选择RTS和DTR打开,一个默认全打开,单片机串口只要能通信不要纠结上位机编程如何搞的,除非你要学习上位机编程。 232.png


回复

使用道具 举报

ID:45026 发表于 2021-8-7 15:08 | 显示全部楼层
RS232中使用DTR(Date Terminal Ready,数据终端准备)与DSR(Data Set Ready ,数据设备准备好)进行主流控,类似上述的RTS 与CTS 。对半双工的通信的DTE(Date Terminal Equipment,数据终端设备)与DCE(Data circuit Equipment )来说,默认的方向是DTE接收,DCE发送。如果DTE要发送数据,必须发出RTS 信号,请求发送数据。DCE收到后如果 空闲则发出CTS 回 应RTS 信 号,表示响应请求,这样通信方向就变为DTE->TCE,同时RTS 与CTS 信号必须一直保持。从这里可以看出,CTS ,TRS虽 然也有点流控的意思(如CTS 没有发出,DTE也不能发送数据),但主要是用来进行方向切换的。
如果UART只有RX、TX两个信号,要流控的话只能是软流控;如果有RX,TX,CTS ,RTS 四个信号,则是支持硬流控的UART;以上问题分析是硬件与软件都支持数据流时,软件是不需要选择的,如果硬件不支持数据流或者软件不支持,那就需要选择RTS和DTR控制位,来实现数据流的控制。一般来说是硬件不同引起的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表