uart

作者:吴永 更新时间:2020年8月14日 关键字:UART、串口 ## uart

uart 与虚拟 AT 交互接口


uart.setup()

uart通讯

  • 语法

    baud = uart.setup( id, baud, databits, parity, stopbits,[msgmode,txDoneReport] )

  • 参数

  • 返回值

    串口的真实波特率


uart.write()

向串口写字符串或者整型数据

  • 语法

    uart.write( id, data1, [data2], ..., [datan] )

  • 参数

    参数

    释义

    取值范围

    id

    串口号

    1-3,0x81(USB)

    data1

    第一个字符串或8位整型数据

    data2

    第二个字符串或8位整型数据

    datan(可选)

    第n个字符串或8位整型数据

  • 返回值


uart.getchar()

从串口读取单字符

  • 语法

    str = uart.getchar( id )

  • 参数

    参数

    释义

    取值范围

    id

    串口号

    1-3,0x81(USB)

  • 返回值

    串口读出来的字符


uart.read()

从串口读取字符串

  • 语法

    str = uart.read( id, format)

  • 参数

    参数

    释义

    取值范围

    id

    串口号

    1-3,0x81(USB)

    格式化

    *l: 读取到结束字符:raw-latex:n或者阻塞发送 *n:读取整型数据 *s:读取到空格字符 数字,number类型:只读取number长度的数据

uart.read(id, format)

--- 读取串口数据(此接口不会阻塞,立即返回)

-- @number id 串口ID

-- @string or number format 读取串口数据的格式,有如下几种

-- number类型的数字:表示读取指定长度字节的数据

--     如果缓冲区中没有数据,则返回空字符串,返回值为string类型

--     如果缓冲区中的数据长度小于等于要读取的数据长度,则返回缓冲区中的所有数据,返回值为string类型

--     如果缓冲区中的数据长度大于要读取的数据长度,则返回要读取的长度的数据,返回值为string类型

-- string类型的*l:  表示读取到换行符\n

--     如果缓冲区中没有数据,则返回空字符串,返回值为string类型

--     如果缓冲区中的数据没有\n,则返回缓冲区中的所有数据,返回值为string类型

--     如果缓冲区中的数据有\n,则返回到\n结束的所有数据(包括\n),返回值为string类型

-- string类型的*n:  表示读取整型数据

--     如果缓冲区中没有数据,则返回0,返回值为number类型

--     如果缓冲区中的第一个字节的数据不是+、-、数字,则返回0,返回值为number类型

--     如果缓冲区中的前几个字节满足整型数据格式[+-]%d+,则按照最长匹配返回数据,返回值为number类型

-- string类型的*s:  表示读取到空格字符

--     如果缓冲区中没有数据,则返回空字符串,返回值为string类型

--     如果缓冲区中的数据没有空格,则返回缓冲区中的所有数据,返回值为string类型

--     如果缓冲区中的数据有空格,则返回到空格结束的所有数据(不包括空格),返回值为string类型
  • 返回值

    串口读出到的数据


uart.set_rs485_oe()

  • 语法

    uart.set_rs485_oe(id, io[, level] [, timeUs])

  • 参数

    参数

    释义

    id

    串口id

    io

    GPIO值 pio.Pxx

    level

    输出使能电平有效值 ,默认1,配置为1时表示高电平发送,配置为0时表示低电平发送

    timeUs

    485 o e转向延迟时间,单位US,缺省时为0延迟5个当前波特率的时钟时间

  • 返回值

  • 例子

uart.setup(UART_ID,115200,8,uart.PAR_NONE,uart.STOP_1,nil,1) --必须先使用setup,并且最后一个参数是1(打开发送完成后的通知功能)
uart.set_rs485_oe(UART_ID, pio.P2_0) --仅4G 0013版本之后支持

uart.close()

关闭 uart 接口

  • 语法

    uart.close(id)

  • 参数

    参数

    释义

    取值范围

    id

    串口号

    1-3,0x81(USB)

  • 返回值