
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
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 |