Das Open-Control-Projekt - Die Alternative zur C-Control-I


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: PCF 8574 als Eingang Kategorie: Programmierung Basic (von das |_ Team - 4.07.2015 0:24)
 Als Antwort auf Re: PCF 8574 als Eingang von Nicolas - 3.07.2015 14:08
Wir haben mal die Schaltung hier nachgebaut und das Programm:

> > > Hier ist mein Testprogramm:
> > >
> > > define SDA as port [9]
> > > define SCL as port [10]
> > > define led as port [1]
> > > define eingang as port [17]
> > >
> > > LCD.init
> > > LCD.off
> > >
> > > SDA=on
> > > SCL=on
> > > eingang=on
> > >
> > >
> > > #loop
> > > led=eingang
> > > goto loop

 ... funktioniert (bei uns) ohne Änderungen und auf Anhieb!

Komisch.

Vielleicht hilft dies weiter, unsere Testumgebung:

 
Hardware:
 
- Applicatiionboard I 2.0
- CC-I-2.0 (OS-Version 2.07)
- PCF8574P (Philips)


Kompiler:   Basic++ Version 0326

   51 Bytes Token, (bei Codeoptimierung Systemobjekte "AUS")
bzw.
   59 Bytes Token, (bei Codeoptimierung Systemobjekte "EIN")

(Beide Kompilate funktionieren)


Das Kompilat (ohne Codeoptimerung):

CCTRL-BASIC
51
3 0 7 31 35 79 78 95 76 67 68 35 0 31 35 73 78 73 84 35 0 31 35 79 70 70 35 0 20 255 255 13 8 20 255 255 13 9 20 255 255 13 16 10 16 13 0 3 0 47 255
0

   
Vielleicht ist ja der PCF8574 kaputt?



       

> Danke für den heissen Tipp
>
> Ich habe es mit viel Hoffnung ausprobiert... leider funktionniert es nicht.
>
> Port 17 hängt an den I2C Bus... ich bin nicht sicher dass es über einen Datenrichtungsregister verfügt, sowie z.B. port 1
>
>
> Ich vermute einen Softwaregag... aber ich kann es nicht erkennen.
> Die Elektronik scheint in ordnung zu sein: mit led=on / Led=off kann ich es ein/ausschalten, und mit eingang=on/off kann ich pin 4 vom pcf8574 auf High/low schalten.
> Nur auslesen schaff ich nicht.
>
>
> Hätte jemand noch einen Tipp ?
>
> Nicolas
>
>
>
> > Hallo zurück - hier im Forum :-)
> >
> > Vermutlich ist eingang nach dem Schreibzugriff in Zeile 11 noch weiterhin als Ausgabeport aktiv.
> >
> > Mittels DEACT kann ein als Ausgabeport gesetzter Pin wieder auf Eingabe umgeschaltet werden.
> >
> >
> > define SDA as port [9]
> > define SCL as port [10]
> > define led as port [1]
> > define eingang as port [17]
> >  
> >  LCD.init
> >  LCD.off
> >  
> >  SDA=on
> >  SCL=on
> >  eingang=on    'Port 17 wurde durch den Schreibzugriff automatisch Ausgabeport
> >
> >  <b>DEACT eingang</b> ' ...konfiguriert den Port 17 wieder als Eingabeport
> >
> >  #loop
> >  led=eingang
> >  goto loop
> >
> >
> > Wir konnten das jetzt gerade nicht testen - funktioniert es damit?
> >
> > das |_ Team
> >
> >
> >
> > > Hallo, gruss an alle, ich bin seit jahren nicht mehr da gewesen...meinen Passwort habe ich auch vergessen...
> > >
> > >
> > > Seit drei Tagen versuche ich ohne Erfolg den Port 17 (PCF 8574 auf den I2C Bus) als Eingang zu nutzen... was ich früher schon geschafft habe. Was mach ich denn falsch ?!?
> > >
> > >
> > > Hier ist meine Schaltung:
> > >
> > > [URL=http://www.hostingpics.net/viewer.php?id=870290Schaltung.jpg][IMG]http://img11.hostingpics.net/pics/870290Schaltung.jpg[/IMG][/URL]
> > >
> > > Hier ist mein Testprogramm:
> > >
> > > define SDA as port [9]
> > > define SCL as port [10]
> > > define led as port [1]
> > > define eingang as port [17]
> > >
> > > LCD.init
> > > LCD.off
> > >
> > > SDA=on
> > > SCL=on
> > > eingang=on
> > >
> > >
> > > #loop
> > > led=eingang
> > > goto loop
> > >
> > >
> > >
> > >
> > > Die Led an port 1 sollte den Zustand des Port 17 anzeigen... macht es aber nicht
> > > Die Messung bestätigt dass der Port 17 (pin4 auf pcf8574) nach Befehl "eingang=on" auf high geht. Der Portexpander funktionniert also einwandfrei als Ausgang.
> > > Die Portabfrage als Eingang liefert aber immer nur einen low, unabhängig davon ob pin 4 vom pcf8574 (port17) auf low oder auf high gezogen wird !
> > >
> > > Ich versteh das nicht.
> > >
> > > Stimmt da etwas mit die Softwareabfrage nicht ?
> > >
> > >
> > > Wer könnte mir bitte helfen ?
> > >
> > >
> > > Gruss
> > >
> > > Nicolas

 Antwort schreiben

Bisherige Antworten:

Re: PCF 8574 als Eingang (von Nicolas - 5.07.2015 23:24)
    Re: PCF 8574 als Eingang (von Bert - 6.07.2015 1:24)