
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Gerd, so richtig blicke ich nicht durch, was Du machst... Ein funktionierendes Programm zum Aufsuchen intakter I2C-Bauteile an einer OM findest Du unter "Dokumentation" in dem Rolladenprojekt-Hauptprogramm (Untermenue: Testen der I2C-Bausteine;Gibt aus, welche der I2C-Bausteine gefunden wurden) - Dies Teilprogramm stammt letztendlich aber nicht von mir - ich weiß aber nicht mehr, wer es zuerst (und wo) in's Netz gestellt hat. Viel Spaß beim Testen, Gruß, GeKue > Hallo Leute! > > Ich bin Neuling und habe folgendes Problem. Ich nutze die Porterweiterung PCF8574 mit 2,2k Pullup an SDA und SCL am IIC jedoch schaltet der nicht! Nun wollte ich erstmal überprüfen, ob der IIC überhaupt arbeitet und habe mir das IIC_DEVICE_SEEK rausgesucht. Jedoch habe ich leider kein LCD und würde gerne die LCD-Ausgabe auf das Hyperterminal am PC ausgeben. Jedoch weiß ich nicht was ich im folgenden Programm änderen muß, damit das Funzt. Ich habe da schon Stundenlang rumgefummelt. Kann mir jemand helfen? Gruß Gerd > > '-------------------------- > '------ I/O PORTS --------- > '-------------------------- > define LIGHT port[16] > '-------------------------- > '---- SYSTEM MEMORY ------- > '-------------------------- > define CONFIG byte[1] > define COUNTER byte[2] > > #INIT > LIGHT=off > '----------- EINSCHALT MELDUNG------------------------ > print"#ON_LCD#"; > print"#INIT#"; > print"IIC-DEVICE SEEK"; > pause 50 > print"#CLR#"; > print"#OFF#"; > '--- IIC ERROR FLAG IM CONFIG REGISTER LÖSCHEN ------ > print"#ON_CONFIG#"; 'UMLEITUNG ZUM CONFIG MODULE > get CONFIG 'CONFIG REGISTER LESEN > put (CONFIG and &B10111111)'IIC ERROR FLAG IN CONFIG LÖSCHEN > print"#OFF#"; > > '----------------------------------------------------- > '-- SUCHE NACH IIC-EINHEITEN MIT ADRESSE xxxxxxx0 ---- > '----------------------------------------------------- > #LOOP > '-------- ADRESSEN DURCHZÄHLEN ---------------------- > for COUNTER=0 to 254 step 2 > print"#ON_IIC#"; 'UPLEITUNG ZUM IIC-MODULE > print"#START#"; 'START BEDINGUNG > put COUNTER 'ADRESSE SENDEN > print "#STOP#"; 'STOP BEDINGUNG > print"#OFF#"; 'UMLEITUNG ABSCHALTEN > '----------------------------------------------------- > 'CONFIG REGISTER ABFRAGE OB DEVICE ACKN GESENDET HAT-- > '----------------------------------------------------- > print"#ON_CONFIG#"; 'UMLEITUNG ZUM CONFIG MODULE > get CONFIG 'CONFIG REGISTER LESEN > put (CONFIG and &B10111111)'IIC ERROR FLAG IN CONFIG LÖSCHEN > print"#OFF#"; > '----------------------------------------------------- > ' LAUFENDE ADRESSEN AUSGABE AUF LCD -- > '----------------------------------------------------- > print"#ON_LCD#"; > print"#L101#"; > print"SEEK AT: "; > print COUNTER; > if (CONFIG and &H40)=0 then gosub FOUND > print"#OFF#"; > next > end > '----------------------------------------------------- > ' GEFUNDENE ADRESSEN AUSGABE AUF LCD -- > '----------------------------------------------------- > #FOUND > print"#L201#"; > print"OK: "; > if (COUNTER and &H80)=0 then print "0"; else print "1"; > if (COUNTER and &H40)=0 then print "0"; else print "1"; > if (COUNTER and &H20)=0 then print "0"; else print "1"; > if (COUNTER and &H10)=0 then print "0"; else print "1"; > if (COUNTER and &H08)=0 then print "0"; else print "1"; > if (COUNTER and &H04)=0 then print "0"; else print "1"; > if (COUNTER and &H02)=0 then print "0"; else print "1"; > if (COUNTER and &H01)=0 then print "0"; else print "1"; > print"="; > print COUNTER; > pause 100 > print"#L201#"; > print" "; > return |
| Antwort schreiben |