Pyserial Readline
Este tutorial presentará cómo utilizar la función read()
o readline()
en el módulo serial
de Python.
Las funciones read()
y readline()
son una parte esencial del módulo serial
de Python. El módulo serial
proporciona todas las funciones y necesidades necesarias para acceder al puerto serie.
Esencialmente, se puede decir que el módulo serial
proporciona los backends para Python que se ejecuta en Linux, Windows, OSX, etc. En términos simples, significa que el módulo serial
elige automáticamente el backend que considera apropiado.
Comencemos con la función read()
y su aplicación cuando necesitamos leer más de un carácter a la vez. La función read()
del módulo serial
se utiliza para leer el texto dado un byte a la vez. Contiene un parámetro que denota el recuento de la cantidad máxima de bytes
que queremos que lea la función.
El siguiente programa utiliza la función read()
para leer más de un carácter a la vez.
# general code of the serial module
import serial
ser = serial.Serial()
ser.port = "COM2"
ser.baudrate = 19200
ser.timeout = 0
x = ser.read() # This function will read one byte from the given variable.
De manera similar, podemos usar la función readline()
. Tiene un funcionamiento que es bastante similar a la función read()
, pero en cambio, lee una línea completa a la vez.
Sin embargo, es necesario definir el tiempo de espera para implementar la función readline()
correctamente. Además, la función readline()
deja de leer una línea solo después de encontrar el final de la línea o eol
, que es el carácter de nueva línea \n
, por lo que es esencial aplicarlo a cada línea mientras se usa esta función.
El siguiente código utiliza la función readline()
para leer más de un carácter a la vez.
# general code of the serial module
import serial
ser = serial.Serial()
ser.port = "COM2"
ser.baudrate = 19200
ser.timeout = 0
line = ser.readline() # This function reads one line at a time.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn