硬件基础知识和典型应用-使用单片机串口高速率接收大文件时使用硬件流控CTS的记录
<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 不要勾选

浙公网安备 33010602011771号