
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Mario und andere, Ich habe Quartz und PCF8583 erzetzt. Keine aenderung. Mit Occi am Quartz und pin 2 gemessen, 0.8Vss und etwa 33 kHz ->ist gut. Aber, mit neu Testprogramm, siehe unten, bekomme ich jetzt definierte Daten raus. Das geht NUR wenn ich immer ein Write-commando zwischen den Read-commandos schicke. Warum so schwierig auslesen. Ein Programm fehler??? #loop print minute,second print "register","data","datalo","datahi" pause 100 sys WrByteBReg,128,0,PCF8583addr'latch sys RdWordBReg,1,PCF8583addr 'read register 1+2 data=pop print "register1+2",data,datalo,datahi sys WrByteBReg,0,0,PCF8583addr 'start sys WrByteBReg,128,0,PCF8583addr'latch sys RdWordBReg,3,PCF8583addr 'read register 3+4 data=pop print "register3+4",data,datalo,datahi,wert sys WrByteBReg,0,0,PCF8583addr 'start sys WrByteBReg,128,0,PCF8583addr'latch sys RdWordBReg,5,PCF8583addr 'read register 5+6 data=pop print "register5+6",data,datalo,datahi,wert sys WrByteBReg,0,0,PCF8583addr 'start goto loop Benno > Hallo, > > die Frequenz von 1Hz am Ausgang "int" zeigt nicht an, ob die Uhr des PCF8583 läuft. Das ist eine Standard-Ausgabe nach dem Einschalten. So ungefähr steht es im Datenblatt des PCF8583 auf Seite 12 unter 7.9 und 7.11 > Link Datenblatt > Damit die Uhr des PCF8583 läuft brauchst du einen Quartz und einen Kondensator (Datenblatt Seite 12 unter 7.10 oder Bild auf Seite 22). Wenn du einen Bausatz von CCTools (Artikel #1083 oder #1084) hast, ist beides schon enthalten. > > Ob sich die Register ansprechen lassen, kannst du leicht überprüfen. Schreibe einen Wert in ein Register und lies ihn anschließend wieder aus. Es ist allerdings möglich, dass für manche Register nur bestimmte Werte gültig sind. Siehe dazu Tabelle 1 auf Seite 9 im Datenblatt. > > Gruß Mario > > > Hallo Mario, > > > > Kann sein, aber an den "int" ausgang, pin 7, steht den 1Hz puls den ich mit mein Occi messen und sehen kan -> PCF lauft, oder nicht ? > > > > Auch mit unterstehende Programm bekomme ich undefinierte Werte , meist "0" > > > > #loop > > > > sys WrByteBReg,128,0,PCF8583addr ' latch > > sys RdByteBReg,1,PCF8583addr > > data=pop > > sys RdByteBReg,2,PCF8583addr > > datalo=pop > > sys RdByteBReg,3,PCF8583addr > > datahi=pop > > sys RdByteBReg,4,PCF8583addr > > wert=pop > > sys WrByteBReg,0,0,PCF8583addr 'start > > print "register",data,datalo,datahi,wert > > pause > > > > goto loop > > > > Selbst denke ich, das etwas nicht gut geht mit Ansprechen von die Register, aber was ? > > Benno > > > > > Hallo, > > > > > > die Schleife #secloop von #syncCC1 wird so lange durchlaufen, bis ein Sekundenwechsel stattfindet. Wenn das Programm in dieser Schleife bleibt, dann läuft die Uhr des PCF8583 nicht. Vielleicht ist der Quarz defekt. > > > > > > Gruß Mario > > > > > > > > > > > Hallo, > > > > > > > > Ich habe ein PCF8583 ,mit backup accu, an CC1 M-unit. > > > > Benutze multitreiber von CC-Tools. > > > > Benutze PCF8583.bas von CC-Tools ohne WD. (siehe unten) > > > > > > > > Program bleibt im den Sleife #secloop von #syncCC1 warten. > > > > Wenn ich bei "if datalo=wert then goto secloop" auskommentiere dann lauft Program. > > > > > > > > Wenn ich als Test versuche ein register zu lesen mit: > > > > > > > > sys RdWordBReg,2,PCF8583addr 'Sekunde & Minute lesen > > > > data=pop > > > > second=(datalo shr 4)*10 + (datalo and &hF) > > > > minute=(datahi shr 4)*10 + (datahi and &hF) > > > > print datalo,datahi > > > > > > > > bekomme ich immer "0" > > > > > > > > Was mache ich falsch? > > > > > > > > Benno > > > > > > > > > > |
| Antwort schreiben |