Я вытягиваю байтовые данные из процессора и пытаюсь извлечь один бит/флаг для статуса. Я вытаскиваю байт данных из 0x1B, а затем маскирую против 0x08, который должен оставить 4-й бит. В нормальном режиме работы требуется некоторое время для немного флипа - поэтому я итерация на потянув немного и не испытывать егоПобитовые переменные AND и String
STATUS_FOC = []
STATUS = []
FOC_Mask = []
while x <= 100:
STATUS = bin(sys.Read(0x1B))
print 'status', STATUS
FOC_Mask = bin(0x08)
print 'FOC', FOC_Mask
STATUS_FOC = STATUS & FOC_Mask
Независимо от того, что я делаю для переменных Python настаивает на последней строке, что я пытаюсь сделать логическое И двух строк. Выход STATUS и FOC_Mask следующим образом:
статус 0b11010000 ВОК 0b1000
, которую я прочитал в бинарном виде, и все же программа падает за линию, говоря, что он не может сделать «&» операцию по строки. Справка
Ну, да. 'bin()' возвращает строку. Прекратите использовать его. –