3.1.7 CMUX
==========

作者:闫俊杰 #####
CMUX是指串口多路复用。串口的多路复用器模式,就是使一个串行接口能够将数据传输到四个不同的客户应用程序。

--------------

要在Linux下使用模块的CMUX功能,需要在内核中开启相应的支持,开启方法见下图
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

|image1| |image2|

--------------

将Air724UG开发板UART1连接到Linux客户端,使用AT+CMUX命令开启CMUX功能
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

语法规则
^^^^^^^^

+-----------------------+-----------------------+-----------------------+
| 命令类型              | 语法                  | 返回                  |
+=======================+=======================+=======================+
| 设置命令              | AT                    | OK                    |
|                       | +CMUX=[<mode>[,<subse |                       |
|                       | t>[,<port_speed>[,<N1 |                       |
|                       | >[,<T1>[,<N2>[,<T2>[, |                       |
|                       | <T3>[,<k>]]]]]]]]]    |                       |
+-----------------------+-----------------------+-----------------------+
| 查询命令              | AT+CMUX?              | +CM                   |
|                       |                       | UX:[<mode>[,<subset>[ |
|                       |                       | ,<port_speed>[,<N1>[, |
|                       |                       | <T1>[,<N2>[,<T2>[     |
|                       |                       | ,<T3>[,<k>]]]]]]]]]OK |
+-----------------------+-----------------------+-----------------------+
| 测试命令              | AT+CMUX=?             | +CMUX:(               |
|                       |                       | <mode>),(<subset>s),( |
|                       |                       | <port_speed>s),(<N1>s |
|                       |                       | ),(<T1>s),(<N2>s),(<T |
|                       |                       | 2>s),(<T3>s),(<k>s)OK |
+-----------------------+-----------------------+-----------------------+

参数定义
^^^^^^^^

::

   <mode>定义:复用透传机制
       取值:0
       取值说明:基本选择
   <subset>定义:控制通道的复用器建立的方式
       取值:0
       取值说明:仅使用UIH 包文
   <port_speed>定义:传输速率,单位为 bits/s
       取值:1
       取值说明:9600
       取值:2
       取值说明:19200
       取值:3
       取值说明:38400
       取值:4
       取值说明:57600
       取值:5
       取值说明:115200
       取值:6
       取值说明:230400
       取值:7
       取值说明:460800
   <N1>定义:最大报文大小
       取值:1-255
       取值说明:默认:127
   <T1>定义:接收 timer,以 10ms 为单位
       取值:1-255
       取值说明:默认:10(100 ms)
   <N2>定义:重传的最大数量
       取值:0-100
       取值说明:默认:3
   <T2>定义:复用器控制通道的响应定时器,以10ms 为单位
       取值:2-255
       取值说明:默认:30
   <T3>定义:唤醒响应定时器,以秒为单位
       取值:1-255
       取值说明:默认:10
   <k>定义:窗口大小,适用于有错误恢复选项的高级操作
       取值:1-7
       取值说明:默认:2

.. |image1| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200603175311539_IMG_0092.PNG
.. |image2| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200603175323705_IMG_0093.PNG