Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

akapulko
2023-07-23 11:30:49

Там де у вас "..." time оголошено як масив явно?
Спробуйте так:

time = bytearray(7)
time = i2c.readfrom_mem(0x68, 0, 7)
nofifo
2023-07-22 21:11:56

Привіт
Є звязка
- RP2040-Plus (https://www.waveshare.com/wiki/RP2040-Plus )
- Pico RTC-DS3231 (https://www.waveshare.com/wiki/Pico-RTC-DS3231)

При спробі роботи з модулем часу вилітає помилка

OSError: [Errno 5] EIO

Сам модуль шиною I2c бачиться

import machine
i2c = machine.I2C(0, scl=machine.Pin(21), sda=machine.Pin(20))

print('Scan i2c bus...')
devices = i2c.scan()
if len(devices) == 0:
  print("No i2c device !")
else:
  print('i2c devices found:',len(devices))

  for device in devices:  
    print("Decimal address: ",device," | Hexa address: ",hex(device))
    print("Try to read from device")
print()
Scan i2c bus...
i2c devices found: 1
Decimal address:  104  | Hexa address:  0x68

При зверненні до модуля - помилка...

...
i2c = machine.I2C(0, scl=machine.Pin(21), sda=machine.Pin(20))
...
time = i2c.readfrom_mem(int(0x68),int(0x00),7)
...  

Програма падає на спробі прочитати дані з модуля.
З "офіційною" бібліотекою - такий же результат.

Куди копнути?
Дякую!

Підвал форуму