Wreszcie po jakimś czasie znalazłem a raczej dostałem od pewnego kolegi kod w bascomie do czytania kart telefonicznych na chipy. Kod ogólnie działa, ale...
No właśnie jak zawsze jest ale. Nie widzi mi karty tak więc wgranie "niczego" czyli tylko zwarty (rozwarty) "sprawdzacz" włożonej do slotu karty powoduje że można otworzyć układ wszystkim.
Za każdym razem Id katy mam jednakowe i jest ono równe FFFFFFFFFFF. Ale co ciekawe, całkowite odłączenie karty daje same zera. Pomożecie?
W załączniku kod bascoma.
Najciekawsze jest to że znalazłem inny program w bascomie, który można znaleźć -> tutaj <- i jest on ze strony EP, -> stąd <-, a na którym też nie czyta mi karty. Więc wynikało by z tego że mam jakiś problem bardziej sprzętowy niż programowy.
Ale jak to możliwe skoro wszystko sprawdziłem wiele razy. Może trzeba piny procka pozmieniać?
[Bascom]Czytnik kart chipowych nie widzi mi karty.
[Bascom]Czytnik kart chipowych nie widzi mi karty.
- Załączniki
-
- czytnik kart.zip
- (2.55 KiB) Pobrany 260 razy
I co? Nikt nie jest w stanie pomóc? Już nawet podpowiem że czytanie karty odbywa się tutaj:
Ale nie wiem co jest? Może za szybko procek komunikuje się z kartą bo taktuję go 8MHz. Może powinienem użyć kwarcu zegarkowego? Bodajże 32kHz z czymś.
Macie może jakieś linki co do lektury? Żeby trochę o tym poczytać.
Kod: Zaznacz cały
Id = 0
Gosub Reset_chip 'wywołaj reset chipa
For R = 1 To 6 ' odczytanie 6 razy po 7 bitów z karty
For X = 0 To 7
Gosub Adres
A.x = Io
Next X
Ciag = Ciag + Hex(a) 'zapis odczytanych bitów w postaci szesnastkowego ciagu
Next R
Ciag = Mid(ciag , 2 , 11) 'usunięcie pierwszego znaku ciągu, bo zawsze jest 0
Print "ID karty: " ; Ciag 'wyswietl numer karty
waitms 100
Gosub Koniec
'po odczycie przejdz do podprogramu koncowego
End If
Waitms 50
Loop 'pętla
End 'koniec programu
Reset_chip: 'procedura resetu chipa
Res = 1
Delay
Clk = 1
Delay
Clk = 0
Delay
Res = 0
Delay
Return
'procedura odczytu bitów
Adres:
Res = 0
Delay
Clk = 1
Delay
Clk = 0
Delay
ReturnMacie może jakieś linki co do lektury? Żeby trochę o tym poczytać.