跳转至

IFC

TE-TA 本地流量控制:AT+IFC

流控简介

对 模块与 DTE 之间可靠的通信而言,流控是很重要的。假使一次数据或传真呼叫中,发送端的发送速度大于接收端的接收速度,当接收缓存接近满的时候,接收端应该有方法让发送端暂停发送,直到它重新赶上。这就是流控。

一般来说,有两种方法来实现流控。它们是软件流控和硬件流控。在多路复用模式下,推荐采用硬件流控。合宙模块对这两种流控方式都支持。

软件流控:

软件流控发送不同的字符去暂停(XOFF,十进制 19)和恢复(XON,十进制 17)数据流。它适用于仅仅有三根线的串口通信。

合宙LTE模块如果使用软件流控,则需要通过命令:AT+IFC=1,1 来配置

因为这个配置不保存,所以若希望重启后继续使用软件流控,需要通过 AT&W 保存到用户配置表中。

注:当模块传送的是二进制/十六进制数据时,不适合软件流控方式,因为TE可能会将二进制数据当成流控字符。

硬件流控:

硬件流控通过 RTS/CTS 信号来实现。当接收缓存快满的时候,模块把 CTS 信号设置为无效,数据传输被暂停。当模块的接收缓存可以接收更多数据时,CTS 信号重新被设置为有效。

要实现硬件流控功能,请确保你的应用串口包含 RTS/CTS 线。

语法规则:

命令类型 语法 返回和说明
设置命令 AT+IFC=<dce_by_dte>,[< dte_by_dce>] OK
查询命令 AT+IFC? +IFC: <dce_by_dte>,<dte_by_dce>
OK
测试命令 AT+IFC=? +IFC: (<dce_by_dte>取值列表),<dte_by_dce>取值列表)
OK
注意事项 模块缺省无流控。如果需要硬件流量控制,请输入"AT+IFC=2,2;&W",重启模块就一直生效了。

参数定义:

参数 定义 取值 对取值的说明
< dce_by_dte> TE 接收来自TA 数据时采用的流控方法 0 无流控
1 软件流控
2 硬件流控
< dte_by_dce> TA 接收来自TE 数据时采用的流控方法 0 无流控
1 软件流控
2 硬件流控

举例:

命令(→)/ 返回(←) 实例 解释和说明
AT+IFC=? 查询< dce_by_dte>和< dte_by_dce>取值范围
+IFC: (0-2),(0-2)
OK
查询结果
AT+IFC? 查询当前的流量控制方式
+IFC: 2,2
OK
硬件流控