STM32手册:串口流控制功能
吾爱单片机 2024-11-22

串口接收方CPU拿取数据的速度赶不上串口数据的通信速度时,会导致丢数据的现象。使用串口流控制功能可以解决以上问题

1.电路连接

如下图1所示,串口1的CTS和串口2的RTS连接,串口1的RTS和串口2的CTS连接

图1

2.RTS信号

RTS信号是输出信号。当接收数据寄存器满了的时候,RTS信号释放掉(高电平),表示不能再接收新数据了;总线Idle空闲期间CPU完成读取,接收数据寄存器不再是满状态的时候,RTS信号重新启动(低电平),表示可以接收新数据

图2

3.CTS信号

CTS信号是输入信号。当检测到CTS信号启动的时候(拉低),存储在发送数据寄存器中的数据将会被发送出去;当检测到CTS信号释放的时候(高电平),存储发送数据寄存器中的数据不会被发送出去,直到检测到CTS信号重新启动的时候(拉低),才会恢复发送动作

4.分析:当接收方的接收数据寄存器满的时候,接收方将自己的RTS信号释放掉(高电平),而该信号接到了发送方的CTS信号,此时发送方检测到CTS信号释放(高电平),存储发送数据寄存器中的数据不会被发送出去;等接收方的CPU从接收数据寄存器拿走数据后,接收数据寄存器不再是满的状态,于是将RTS信号重新启动(低电平),此时发送方检测到CTS信号重新启动(拉低),于是恢复发送动作,发送存储在发送数据寄存器的数据 


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 处理器
  • DSP
  • CPU
  • GPU
下载排行榜
更多
评测报告
更多
广告