Pyserial Readline

Vaibhhav Khetarpal 12 abril 2022
Pyserial Readline

Este tutorial irá apresentar como usar a função read() ou readline() no módulo Python serial.

As funções read() e readline() são uma parte essencial do módulo serial do Python. O módulo serial fornece todas as funções e necessidades necessárias para acessar a porta serial.

Essencialmente, pode-se dizer que o módulo serial fornece os back-ends para Python que roda em Linux, Windows, OSX, etc. Em termos simples, significa que o serial escolhe automaticamente o back-end que considera adequado.

Comecemos com a função read() e sua aplicação quando precisamos ler mais de um caractere por vez. A função read() do módulo serial é utilizada para ler o texto dado um byte de cada vez. Ele contém um parâmetro que indica a contagem da quantidade máxima de bytes que queremos que a função leia.

O programa a seguir usa a função read() para ler mais de um caractere por 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.

Da mesma forma, podemos usar a função readline(). Ele tem um funcionamento muito semelhante ao da função read(), mas em vez disso, ele lê uma linha inteira de cada vez.

No entanto, o tempo limite precisa ser definido para implementar a função readline() corretamente. Além disso, a função readline() para de ler uma linha apenas depois de encontrar o fim da linha ou eol, que é o caractere de nova linha \n, por isso é essencial aplicar isso a todas as linhas ao usar esta função.

O código a seguir usa a função readline() para ler mais de um único caractere por 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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