Вопрос задан 15.06.2023 в 11:03. Предмет Информатика. Спрашивает Мельникова Анастасия.

Помогите решить проблему, у меня ошибка с I2C, ошибка File "main.py", line 29

data1=bus.read_byte_data(0x01,0x06) #чтение монет, сколько загрузили ^ IndentationError: expected an indented block вот код: import smbus import time rez=1 bus = smbus.SMBus(1) n=1 koin5=4 bus.write_byte_data(0x01,0x00,koin5) bus.write_byte_data(0x01,0x01,2) bus.write_byte_data(0x01,0x02,5) #отпраква, сколько монет выдать bus.write_byte_data(0x01,0x03,3) bus.write_byte_data(0x01,0x04,rez) #0-выдаем 1-режим приема bus.read_byte_data(0x01,0x05) #хранение статуса выдачи while rez==1: #data2=bus.read_byte_data(0x01,0x07) #data3=bus.read_byte_data(0x01,0x08) #data4=bus.read_byte_data(0x01,0x09) #print (data2) #print (data3) #print (data4) data1=bus.read_byte_data(0x01,0x06) #чтение монет, сколько загрузили if n==1: if data1==1: print (data1) n=0 if n==0: if data1==0: print (data1) n=1 rez=0 bus.close()
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сергеевна Ксения.

Ответ:

Необходимо поставить табы после цикла while и конструкции if.

Также надо изучить конструкцию if elif else

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я попробую помочь вам решить вашу проблему с I2C. Похоже, что у вас есть ошибка отступа в строке 43 вашего кода. Это означает, что вы не соблюдали правила форматирования Python, которые требуют, чтобы каждое новое заявление в блоке было смещено на четыре пробела от текущего уровня отступа. Вы можете исправить это, добавив нужное количество пробелов перед строкой 43. Например, так:

```python import smbus import time rez=1 bus = smbus.SMBus(1) n=1 koin5=4 bus.write_byte_data(0x01,0x00,koin5) bus.write_byte_data(0x01,0x01,2) bus.write_byte_data(0x01,0x02,5) #отпраква, сколько монет выдать bus.write_byte_data(0x01,0x03,3) bus.write_byte_data(0x01,0x04,rez) #0-выдаем 1-режим приема bus.read_byte_data(0x01,0x05) #хранение статуса выдачи while rez==1: #data2=bus.read_byte_data(0x01,0x07) #data3=bus.read_byte_data(0x01,0x08) #data4=bus.read_byte_data(0x01,0x09) #print (data2) #print (data3) #print (data4) data1=bus.read_byte_data(0x01,0x06) #чтение монет, сколько загрузили if n==1: if data1==1: print (data1) n=0 if n==0: if data1==0: print (data1) n=1 rez=0 bus.close() ```

Если вы хотите узнать больше о том, как избежать ошибок отступа в Python, вы можете посмотреть этот ресурс. Также вы можете найти полезную информацию о том, как работать с I2C на Raspberry Pi в этих источниках. Надеюсь, это поможет вам. Спасибо за использование Bing.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос