Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Adressierung vom I2C-Bus EEPROM 24C04 Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 13.10.2006 22:17)
 Als Antwort auf Adressierung vo I2C-Bus EEPROM 24C04 von Volker - 13.10.2006 20:46
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini, Open-Mini M-Unit, Open-Mini Station, B-Control, sonstige
Hallo Volker,

in dem von Dir ins Forum gestellten Quellcode kann ich keinen Fehler entdecken. Ich vermute aber, in Deiner Leseroutine stimmt etwas nicht. Fehlt vielleicht das "Readlast"? Ich habe einmal Deinen Sourcecode entsprechend ergänzt. Damit funktioniert das Schreiben und Lesen, wie ich mit einem 24C64-I²C-EEPROM überprüft habe. Die OM gibt einen Hexdump vom Speicher über die serielle Schnittstelle aus. Es ist immer ratsam, Daten und Meldungen über die serielle Schnittstelle auszugeben, wenn etwas nicht funktionieren will.

include "om.def"

define SCL port[5]   'externe Pull-Up-Widerstaende sind nicht unbedingt
define SDA port[6]   '  notwendig, wenn interne Pull-Ups aktiviert sind

define x,y,z byte

define i byte        'temporaeres Byte


gosub i2c_init       'I2C-Bus initialisieren

PrintHex=on

for x = 0 to 1
  for y = 0 to 240 step 16
    print x; y; ": ";

    i2c_start
    i2c_write &b10100000
    i2c_write x
    i2c_write y
    for z = 0 to 15
      print i2c_write(z+48);" ";
    next z
    print

    i2c_stop
    repeat
      i2c_start
    until i2c_write(&b10100000)
  next y
next x

print

for x = 0 to 1
  for y = 0 to 240 step 16
    print x; y; ": ";

    i2c_start
    i2c_write &b10100000
    i2c_write x
    i2c_write y

    i2c_start
    i2c_write &b10100001
    for z = 0 to 15
      print i2c_read(z<>15);" ";
'      print i2c_read(on);" ";          'geht nicht (außer mit i2c_init)
    next z
    print

    i2c_stop
  next y
next x

End2Host=on
end

include "om_i2c.bas"

Viele Grüße
Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Adressierung vom I2C-Bus EEPROM 24C04 (von Volker - 13.10.2006 23:37)
    Re: Adressierung vom I2C-Bus EEPROM 24C04 (von Amiwerewolf - 31.10.2006 20:51)
        Re: Adressierung vom I2C-Bus EEPROM 24C04 (von ManfredW - 1.11.2006 11:00)