Re: Rückmeldung der i2c.start() Routine Kategorie: I²C-Bus (von André H. - 20.10.2002 0:45) | |
Als Antwort auf Rückmeldung der i2c.start() Routine von marcellus - 15.10.2002 0:33
| |
Hallo marcellus, Zuerst zu den Rückgabewerten bei i2c.c2: Die Rückgabewerte bei i2c.start und i2c.write melden keine Fehlermeldungen !! Es wird lediglich der Zustand das Ackknowledge-Bit am I2C-Bus zurückgegeben. Wenn Du mit Deiner untenstehenden Routine Bausteine ansprichst, ist ein Fehler vorprogrammiert. Wenn Du ein start sendest, mu�t Du auch ein stop senden, bevor Du versuchst den nächsten Baustein anzusprechen!! Also kurz: if i2c.start(...) { // Baustein existiert i2c.stop(); } else { i2c.stop(); // Dieses stop ist sehr wichtig !! } MfG André H. > hallo zusammen; > > Folgendes : > betreibe den i2c-bus der CCII mit 13 slave's, (1x24C02; 6xPCF8574 u. 6xLM75CIM) > habe , wenn alle am Bus liegen, keine Problem bei der Steuerung > doch ist >>ein - alle<< Plätze nicht belegt läuft die die Routine " i2c.start ( device ) " > in eine endlos Schleife. (Programm bleibt stehen). > Laut Manual sollte sich die Rourine bei Fehler mit "0" zurückmelden. > Für schnelle Hilfe bin ich jetzt schon dankbar. > > Beispiel (PCF8574): > > // schaue ob 1-6 da sind... > Err = 0; > > wait i2c.ready(); > for i = 1 ... 6 > { > if i2c.start( Addresse[i] + 1 ) > { > Data = i2c.readlast(); > i2c.stop(); > } > else > { > Err = i; > break > } > } > > if Err > 0 gehe_zu_fehlerroutine() > > Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: Rückmeldung der i2c.start() Routine (von marcellus - 1.11.2002 11:37) |