uart.setup()
Descripción
establece las características del puerto serie (baudios, bits de datos, paridad, bits de stop y eco),
Sintaxis
uart.setup( id, baud, databits, parity, stopbits, echo )
Parámetros
id = 0, solo soporta un puerto serie.
baud = 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 74880, 115200, 230400, 460800, 921600, 1843200, 2686400.
databits = 5, 6, 7, 8.
parity = 0(none).
stopbits = 1(1 stopbit), 2(2 stopbit).
echo = 0(close echo back).
Devuelve
baudios.
uart.on()
Descripción
Ejecuta una función cuando se reciben datos por el puerto serie
Sintaxis
Sintaxis
uart.on(method, [number/end_char], [function], [run_input])
Parámetros
method = "data", cuando se espera recibir un datos por el puerto serie.
number/end_char: Este parámetro puede adoptar tres valores distintos:
- Un número n > 0: se ejecuta la función cuando se reciben n caracteres
- Un número n = 0; se ejecuta la función cuando se recibe cada carácter
- Un carácter tipo string "c". Se ejecuta cuando se recibe el carácter "c" o se reciben como máximo 255 caracteres
function: función que se llama cuando recibimos un dato. Ejemplo: function(data)... end
run_input: Puede ser 0 o 1.
- 0: la entrada del puerto no pasará al intérprete lua (admite datos binarios). Se utiliza cuando se le quiere pasar datos al programa por el puerto serie
- 1: la entrada del puerto serie pasará al intérprete de Lua y se ejecutará. Se utiliza para enviar comandos al NodeMCU.
Devuelve
nada
Ejemplo
-- when 4 chars is received.
uart.on("data", 4,
function(data)
print("receive from uart:", data)
if data=="quit" then
uart.on("data")
end
end,
0)
-- when '\r' is received.
uart.on("data", "\r",
function(data)
print("receive from uart:", data)
if data=="quit\r" then
uart.on("data")
end
end,
0)
Descripción
Notas personales
Si utilizamos este método uart.on hay que asegurarse de poder salir de él. Me explico, cuando invocamos uart.on(“data”,n,function(data) …. end,0) para recibir datos por el puerto serie, este último parámetro run_input a 0 hace que el intérprete lua deje de recibir “órdenes” por el puerto serie por lo que el módulo quedará ingobernable (ver el siguiente artículo). Para evitar esto, hay que salir de alguna forma de este modo y para ello hay que indicarlo en la programación:
uart.on("data", 4,
function(data)
print("receive from uart:", data)
if data=="quit" then
uart.on("data") -- Hace que el módulo salga del modo 0 (se ve que por defecto el parámetro run_input es 1)
end
end,
0)
uart.write()
Descripción
escribe string en el puerto serie.
Sintaxis
uart.write( id, string1, string2... )
Parámetros
id = 0, solo un puerto serie es soportado.
string1..n: strings a escribir en el puerto serie.
Devuelve
nada
Fuente:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.