Hallo, seit einigen Tagen versuche ich eine mit Daten gefüllte 2-Wire-Karte auszulesen. Leider ohne erfolg und so langsam gehen mir die Ideen aus wo ich den Fehler noch suchen kann. Die ATR-Sequenz bekommen ich noch einwandfrei hin. Als Ergebnis meiner Leseversuche bekomme ich immer 0xff. Kann mir jemand helfen? lesen2w: ldi temp1,0x0a mov r3,temp1 call w2_start ;2-wire Start Condition ldi buffer, 0x30 ;Command Mode call w2_write ;Write Commmand ldi buffer, 0x50 ;Adresse call w2_write ;Write Commmand ldi buffer, 0x00 ;xxx call w2_write ;Write Commmand call w2_stop ;2-wire Stop Condition lesen2wloop: call w2_read ;Read Data byte mov r25,buffer rcall i2c_lcd_data rcall wait5us dec r3 brne lesen2wloop call w2_break ;2-wire Break Condition ret
Hi Condor, laut Datenblatt von Siemens (SLE4432) muss zuerst eine Startsequenz erfolgen. Danach sollen 3x8 Byte als Command gesendet werden. Anschliessend soll die Stopsequenz gesendet werden. Von nun an sollten auf jedes Clock-Signal ein Bit von der Chipkarte zu lesen sein. Dies sollte solange geschehen bist ein Resetimpuls gesendet wird. Leider erhalte ich auf jedes Bit immer nur ein HIGH. Aufgebaut habe ich die Hardware mit einem ATmega32 mit 8MHz Quarz. Telefonkarten und i2c-Karten habe ich mit dieser Hardware schon ausgelesen. MfG Ralph
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.