
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo leute, Hab scheinbar ein schweres problem, siehe mein andere Beitragen.. Ich versuche noch immer ein PCF8583 richtig aus zu lesen. Mit unterstehenden Testprogram bekomme ich andere Data zuruck dann als geschrieben ist. '-------------------------------------------------------------- 'Ansteuereungsbeispiel für I²C-Bus-Multitreiber "int_i2c.s19" 'Ansteuerung des PCF8583 der Schaltungen ' PCF-UHR-WD und PCF-RTC-EEPROM 'CCTools 2004 cctools.hs-control.de (11.11.2004) '-------------------------------------------------------------- '-------------------------------------------------------------- 'Einsprungadressen von "int_i2c.s19" Release 19.09.04 '-------------------------------------------------------------- ' PCF8574: define PCFwrite &h101 define PCFread &h107 '-------------------------------------------------------------- ' Bausteine mit Byte-Adress-Register define WrByteBReg &h123 define WrWordBReg &h12F define RdByteBReg &h15C define RdWordBReg &h162 '-------------------------------------------------------------- ' Bausteine mit Word-Adress-Register define WrByteWReg &h139 define WrWordWReg &h141 define RdByteWReg &h16D define RdWordWReg &h175 '-------------------------------------------------------------- ' PCFLCD: define putCmd8Bit &h1a9 define putCmd &h17D define putChar &h1a3 define prnLCD &h1C2 '-------------------------------------------------------------- define pop DA[1] 'Trick zum Auslesen des Stacks(siehe ccintern.dharlos.de) define data word[2] define datahi byte[3] define datalo byte[4] define wert byte[5] define seconden byte [6] define minuten byte [7] define uren byte [8] define PCF8583addr 162 ' Adresse des PCF8583 minute= 44 hour= 7 day=0 month=0 year=00 sys WrByteBReg,0,0,PCF8583addr 'reset #loop datalo=((minute / 10) shl 4) or (minute mod 10) datahi=((hour / 10) shl 4) or (hour mod 10) sys WrWordBReg,data,3,PCF8583addr 'Minuten & Stunden speichern print "write to register",data pause 150 sys WrByteBReg,64,0,PCF8583addr'latch sys RdWordBReg,3,PCF8583addr 'read register 3+4 data=pop sys WrByteBReg,0,0,PCF8583addr 'start print "read from register",data goto loop 'syscode "int_i2c.s19" 'nur einmal laden, dann auskommentieren Nochmal bitte wer hat ein Tip ? Benno |
| Antwort schreiben |