Необходимо отладить I2c-шные корки в ПЛИС, т.к. ничего кроме Raspbery PI 2 нет, решил использовать её как мастер, наваял простенький код на Питоне.
На этапе отладки тестового софта использую eeprom и SFP модули.
Все бы хорошо, но есть проблемы: не читает данные из eeprom(типа AT24C256), точнее читает, но только один и тот же байт данных.
При этом из всевозможных SFP модулей данные читаются нормально.
В eeprom, если я правильно понимаю, используется страничный доступ, как его задействовать?
Если можно на пальцах, т.к. я ни разу не программист.
Код
#!/usr/bin/python
import smbus
import time
DevAddr = 0x55
bus = smbus.SMBus(1)
print "I2C: Read from Device 0x%02X" % DevAddr
for DevRegAddr in range (255):
try:
ret = bus.read_byte_data(DevAddr, DevRegAddr)
except IOError, err:
print "error reading device 0x%02X" % DevAddr
exit(-1)
print "%X" % ret
import smbus
import time
DevAddr = 0x55
bus = smbus.SMBus(1)
print "I2C: Read from Device 0x%02X" % DevAddr
for DevRegAddr in range (255):
try:
ret = bus.read_byte_data(DevAddr, DevRegAddr)
except IOError, err:
print "error reading device 0x%02X" % DevAddr
exit(-1)
print "%X" % ret