在UART上手动实现CTS / RTS,而在STM32上没有HW流控制功能

问题描述

我正在尝试使 Sara-R412 STM32F103VGT6TR 相互通信,并且有时偶尔会出现通讯中断的问题,这听起来像是当 R412 尚未准备就绪时, STM 会尝试进行通话。 (很有趣,我也使用了Sara-U201,它根本没有任何问题)

R412 附加到UART4上的 STM 上,数据表说这是UART不支持{{ 1}}。同样根据CTS/RTS的数据表,它不支持R412,但通过支持Xon/Xoff

所以我得出的结论是,我需要手动支持CTS/RTS

根据我一直在阅读的内容,由于双向通信,我对应该使用CTS/RTS 感到有些困惑。 AFIK CTS相当简单:

  • CTS:我很清楚RTS时要发送数据。

对于RTS,我想在我想发送数据时将其驱动LOW,然后在完成后将其清除?还是应该相反?

这是我的gpio设置。

HIGH

这是我用来控制线路的代码

//  Port    Pin          Mode                   Default State       Output speed        Name
    {GPIOE,GPIO_Pin_11,GPIO_Mode_Out_PP,GPIO_DEFAULT_LOW,GPIO_Speed_50MHz},// CELL_RTS
    {GPIOE,GPIO_Pin_12,GPIO_Mode_IN_FLOATING,GPIO_DEFAULT_NA,INPUT_SPEED},// CELL_CTS

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...