硬件基础知识和典型应用-使用单片机串口高速率接收大文件时使用硬件流控CTS的记录
杨奉武
·
2025-11-25
·
via 博客园 - 杨奉武
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnHardware" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
使用场景
电脑使用串口芯片发送数据给单片机, 如果速率很快,单片机缓存有限, 会来不及接收,就会导致数据丢失;
先说一下串口芯片的CTS引脚的作用; 如果串口上打开硬件数据流控,
CTS引脚拉低的时候,数据会正常发送给单片机; CTS引脚拉高的时候,数据会暂停发送;
现在有个需求是单片机通过串口芯片以2M的速率接收一个文件数据;
我可以使用单片机的一个引脚连接串口芯片的CTS引脚;
正常情况下我拉低CTS引脚,让数据正常接收, 当我检测到缓存快满了, 我就拉高CTS引脚,
代我处理完当前的数据(比方说存储到flash), 我再拉低CTS引脚继续接收数据;
串口芯片需要选型,有些不支持硬件流控,而且支持的速率不一样

这边使用串口调试助手进行测试, 测试的时候把硬件流控打开

同时注意 RTS 和 DTR 不要勾选

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。