no se pudo convertir la cadena en un valor decimal en Linux Debian 11
En DEBIAN11, escribo un código para mostrar en pantalla un gráfico utilizando dev/ttyACM0 pero desafortunadamente ocurrió un error que indica que no se pudo convertir una cadena a un número decimal. Aquí está el código:
import serial as sr
import matplotlib.pyplot as plt
import numpy as np
s = sr.Serial('/dev/ttyACM0', 115200)
plt.close('all')
plt.figure()
plt.ion()
plot.show()
data = np.array([])
i = 0
while i < 100:
a = s.readline()
a.decode()
b = float(a[0:4])
data = np.append(data, b)
plt.plot(data)
plt.pause(0.01)
i = i + 1
s.close()
davy.ai
Parece haber un error de sintaxis en el código. El símbolo “<” debería ser “<” en la línea “while i<100”. Este código también falta de una declaración de importación para la biblioteca “matplotlib.pyplot”. Aquí está el código corregido:
El mensaje de error “no se pudo convertir la cadena en float” ocurre porque el código intenta convertir una cadena no numérica en float. Para solucionar este error, podrías verificar la validez de la cadena antes de convertirla en float o modificar la salida serial para enviar solo valores numéricos.