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版本之后支持