Skip to content

Latest commit

 

History

History
133 lines (76 loc) · 4.2 KB

uart.rst

File metadata and controls

133 lines (76 loc) · 4.2 KB

UART

.. function:: serial_ctrl.serial_config(baud_rate, data_bit, odd_even, stop_bit)

    :描述: 設置串口的波特率、數據位、校驗位以及停止位屬性

    :param baud_rate: 設置波特率,可選波特率為 9600、19200、38400、57600、115200
    :param data_bit: 設置數據位,可選的數據位為 cs7、cs8
    :param odd_even_crc: 設置奇偶校驗,詳細見表格 :data:`odd_even_crc`
    :param stop_bit: 設置停止位,可選的停止位為 1、2

    :return: 無

    :示例: ``serial_ctrl.serial_config(9600, 'cs8', 'none', 1)``

    :示例說明: 設置串口的波特率為 9600,數據位 8 位,不使用奇偶校驗,停止位為 1 位

.. function:: serial_ctrl.write_line(msg_string)

    :描述: 發送字符串信息,自動添加換行 ``'\n'``

    :param string msg_string: 需要發送的字符串信息,發送時字符串後自動添加 ``'\n'``

    :return: 無

    :示例: ``serial_ctrl.write_line('RoboMaster EP')``

    :示例說明: 向串口寫入 ``'RoboMaster EP\n'`` ,最後的換行自動添加,用戶只需要發送 ``'RoboMaster EP'``

.. function:: serial_ctrl.write_string(msg_string)

    :描述: 發送字符串信息

    :param string msg_string: 需要發送的字符串信息

    :return: 無

    :示例: ``serial_ctrl.write_string('RoboMaster EP')``

    :示例說明: 向串口寫入 ``'RoboMaster EP'``

.. function:: serial_ctrl.write_number(value)

    :描述: 將數字參數轉換成字符串,並通過串口發送出去

    :param int value: 需要發送的值

    :return: 無

    :示例: ``serial_ctrl.write_number(12)``

    :示例說明: 向串口中寫入字符串 ``'12'``

.. function:: serial_ctrl.write_numbers(value1, value2, value3...)

    :描述: 將數字列表轉換成字符串,並通過串口發送出去

    :param int value1: 需要發送數字列表的值
    :param int value2: 需要發送數字列表的值
    :param int value3: 需要發送數字列表的值

    :return: 無

    :示例: ``serial_ctrl.write_numbers(12,13,14)``

    :示例說明: 向串口中寫入字符串 ``'12,13,14'``

.. function:: serial_ctrl.write_value(key, value)

    :描述: 將參數以鍵值對的形式組成字符串,並通過串口發送出去

    :param string key: 需要發送的關鍵字
    :param int value: 需要發送的值

    :return: 無

    :示例: ``serial_ctrl.write_value('x', 12)``

    :示例說明: 向串口中寫入字符串 ``'x:12'``

.. function:: serial_ctrl.read_line([timeout])

    :描述: 從串口中讀取以 ``'\n'`` 結尾的字符串

    :param float timeout: 可選,超時時間,單位為秒,默認為永久阻塞

    :return: 通過串口讀取到的字符串
    :rtype: string

    :示例: ``recv = serial_ctrl.read_line()``

    :示例說明: 從串口讀取一行以 ``'\n'`` 結尾的字符串

.. function:: serial_ctrl.read_string([timeout])

    :描述: 從串口中讀取字符串(字符串可以不以 ``'\n'`` 結尾)

    :param float timeout: 可選,超時時間,單位為秒,默認為永久阻塞

    :return: 通過串口讀取到的字符串
    :rtype: string

    :示例: ``recv = serial_ctrl.read_string()``

    :示例說明: 從串口讀取一個字符串

.. function:: serial_ctrl.read_until(stop_sig, [timeout])

    :描述: 從串口中讀取字符串,直到匹配到指定的結束字符 ``'stop_sig'``

    :param stop_sig: 指定的結束字符,參數類型為字符,範圍為[ ``'\n'`` | ``'$'`` | ``'#'`` | ``'.'`` | ``':'`` | ``';'`` ]
    :param float timeout: 可選,超時時間,單位為秒,默認為永久阻塞

    :return: 通過串口讀取到的匹配字符串
    :rtype: string

    :示例: ``serial_ctrl.read_until('#')``

    :示例說明: 從串口中讀取字符串,直到匹配到 ``'#'`` 停止讀取

.. data:: odd_even_crc

        +------------+---------------+
        |    none    | 不使用奇偶校驗|
        +------------+---------------+
        |    odd     | 使用奇校驗    |
        +------------+---------------+
        |    even    | 使用偶校驗    |
        +------------+---------------+

Hint

模塊說明請參考 :doc:`UART <../extension_module/uart>`