Re: PCF8591 Kategorie: I²C-Bus (von krassos - 21.07.2005 11:34) | ||
Als Antwort auf Re: PCF8591 von krassos - 21.07.2005 11:31 | ||
| ||
> > > Hallo Rainer, > > > > > > im Datenblatt kann ich auch nix besonderes finden, was das erklären könnte. > > > Bleibt der I2C. > > > Versuch es doch mal mit einer Modifikation in pcfad.c2 um zumindest den Fehler eingrenzen zu > > >können. > > > > > > > > > /*************************************/ > > > /* Einzelnen AD-Port abfragen */ > > > /*************************************/ > > > function getAD(byte addr, byte ADport) returns byte > > > {byte data; > > > if i2c.cstart(Addr[addr]) > > > { > > > i2c.write(settings[addr] or (ADport and 0b11)); > > > yield; > > > i2c.stop(); > > > i2c.cstart(AddrR[addr] or 1); > > > i2c.read();//dummy, needed for first sampling > > > data=i2c.readlast(); > > > i2c.stop(); > > > } > > > else > > > { > > > i2c.stop(); > > > error = error+1; > > > } > > > return data; > > > } > > > > > > > > > > > > error definierst Du als int global am Anfang > > > des Moduls pcfad.c2. Dieser Fehlerzähler erfasst, wenn der 8591 nicht auf eine > > > Adressierung antwortet. > > > Diesen Fehlerzähler kannst Du Dir dann auf dem LCD anzeigen lassen. > > > Sollt er nicht zählen, liegt es an der Hardware. > > > > > > Gru� krassos > > Hallo krassos, > > > > danke für den code, aber leider steht mein Problem immer noch. Der Schleifenzähler (error) > > funktioniert, wenn ich die Adresse abändere oder die Datenleitung entferne. > > Habe das Betriebssystem, Entwicklungsumgebung, halt alles neu runtergeladen und installiert. > > Auch mit einer 2. C2 mit Board und einer neuen Leiterplatte mit einem neuen 8591 mit den > > Widerständen 10k gegen Vdd, 330 Ohm an den Datenleitungen, verschiedene Kabellängen und > > -längen. > > Eine Ansteuerung eines 8574 im laufendem Testprogramm (Relais) fünktioniert ohne Probleme. > > Auch das Auslesen mehrerer 8591er klappt, nur mit den falschen Werten (ab und zu werden die > > richtigen Werte auch angezeigt). Der Wert 128 wird am häufigsten angezeigt und meistens der > > gleiche Wert (AIN 0-3). > > Ich vermute, dass die Daten nicht sauber vom 8591 ausgewertet werden können. Eine Geschwindig- > > keitsherabsetzung für den Datenstrom habe ich nicht gefunden. > > > > Nach rund 30 h bekomme ich langsamm die Kriese, aber es muss ja funktionieren. > > > > > Hallo, > versuch doch mal die Funktion getAD4() einzusetzen. > > > Gru� krassos Sorry, wer lesen kann ist klar im Vorteil. Ich hatte übersehen, das Du diese Funktion schon probiert hast. krassos | ||
Antwort schreiben Antworten: Re: PCF8591 (von krassos - 21.07.2005 11:43) Re: PCF8591 (von Rainer - 21.07.2005 12:18) Re: PCF8591 (von Rainer - 21.07.2005 12:45) Re: PCF8591 (von Rainer - 21.07.2005 19:27) |