Magnet und Chipkarten Leser bei Pollin

Für diese simple Belegung habe ich keinen Plan gemacht.

Alles einfach dem Quellcode auszulesen
1
#define RDPORT  A  /* Magnetkartenleser belegt Port/Pin A */
2

3
#define RDT3BIT  2    /* PA2 = Track 3 Daten */  
4
#define RCL3BIT (RDT3BIT+1)  /* PA3 = Track 3 Takt  */  
5

6
#define RDT2BIT  4    /* PA4 = Track 2 Daten */
7
#define RCL2BIT (RDT2BIT+1)  /* PA5 = Track 2 Takt  */
8

9
#define RDT1BIT  6    /* PA6 = Track 1 Daten */
10
#define RCL1BIT (RDT1BIT+1)  /* PA7 = Track 1 Takt  */
11
...

OK, so beim nachlesen...
Ich geb zu. Doch nicht sooo übersichlich...
1
/* ############# "Card Detect" and "Card Loaded" signals ######### */
2
#define PH1P  RDPORT       /* ist PINA/PORTA (siehe Oben */
3
#define PH1B  0            /* PA0 - an ... */
4
#define PH2P  RDPORT       /* dto. */
5
#define PH2B  1            /* PA1 - an ... */
6

7

8
/* ############# Eject Selenoid ############# */
9
#define  SLNDP  C  /* Auswurfmagnet an PC0  */
10
#define  SLNDB  0
11

12
/* Telefon-Chipkartenleser */
13
#define READER_IO  B    /* PINB/PORTB */
14
#define VCC_BIT    0
15
#define RESET_BIT  1
16
#define CLOCK_BIT  2
17
#define DATA_BIT   3

Und nachdem ich das mit dem Pollin AVR Board V1.0
(v1.0, nicht v2.0x) getestet habe, gibt es nich zwei LEDs auf dem Board 
an PORTD.5 und PORTD.6.
1
/* Temporary use */
2
/* ------------- */
3
#define LED_INIT  DDR(D) |= ((1<<5)|(1<<6)); 
4
#define LED1(v)    do { if(v) PORT(D) |= (1<<5); else PORT(D) &= ~(1<<5); } while(0)
5
#define LED2(v)    do { if(v) PORT(D) |= (1<<6); else PORT(D) &= ~(1<<6); } while(0)
Klaro, die Belegung der Kartenleser war mir schon klar, das hast du ja 
auch gut kommentiert.

Aber dass du das Pollin AVR Board benutzt hast wußte ich zB nicht. Ist 
aber hilfreich zu wissen, weil du ja zB das UART benutzt.

Danke, ich denke so komme ich weiter.

PS.: Was hast du denn mit dem auswurfmagneten gemacht, direkt am AVR? 
Stand da nicht was im Datenblatt von 1A? Oder sitzt der Transistor dafür 
auf dem Leser?
> PS.: Was hast du denn mit dem auswurfmagneten gemacht, direkt am AVR?
> Stand da nicht was im Datenblatt von 1A? Oder sitzt der Transistor dafür
> auf dem Leser?

Einfach mit PORTC.0 ansteuern.
Wenn dann der AVR neu startet war das Netzteil zu schwach ;-)

Gruss
Werner
ok, also sitzt der transitor im leser. Klar, das Netzteil muss 1A+x 
liefern ;-)

Konntest du denn bisher schon sinnvolle Ergebnisse mit dem Leser 
erzielen? Bin mal gespannt, in den nächsten Tagen wird meine Bestellung 
wohl ankommem, hatte ihn einfach mal mitbestellt ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.