У меня есть программа, которая читает цифровые выводы платы Arduino. Плата возвращает выходной сигнал, если Цифровой контакт имеет значение PULLUP (ключевое слово), означает, что цифровой контакт включен как «b'1» и «b'0», если PULLDOWN (ключевое слово) означает, что цифровой контакт выключен. Если output равен b'0 ', я добавляю 0 в массив и 1, если output равен b'1', и, наконец, выводим их. Но это дает ошибку. Код ниже:
from serial import Serial
import time
arduinodata = Serial("COM4",9600)
a=1
i=0
current=0
data=[]
while (a<9):
binary = arduinodata.read()
if(binary==b'1'):
data[i].append(1)
i=i+1
a=a+1
if(binary==b'0'):
data[i].append(0)
current=i
i=i+1
a=a+1
for b in data:
print(data[b])
Ошибка:
Traceback (most recent call last):
File "GettingBitStatus.py", line 12, in <module>
data[i].append(1)
IndexError: list index out of range