mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SAMWELL Tastatur von Pollin mit ATTiny2313


Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe folgendes Skript geschrieben welches die Tastatur von Pollin
auslesen soll:

  PORTA = 0x00;  //Pullups ausschalten an Pins A

  DDRA = (1<<PA1);  //PA1 als Ausgang ==> Masse an (1)
  scan1 = ( PIND | (1<<7));

  DDRA = (1<<PA0);  //PA0 als Ausgang ==> Masse an (2)
  scan2 = ( PIND | (1<<7));

  DDRA = 0x00;  //Alle Pins an A als Eingänge

Komischerweise funktioniert es beim Scan1 und beim 2. Mal nicht. Jemand
von euch ne Idee, woran das liegen könnte? Der PinA0 ist auch der XTAL1,
allerding habe ich die Standard Fuses nicht verändert, so dass der
interne Oszillator läuft.

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Tastatur? Ist es beabsichtigt, da0 bei 1<<PA0 PA1 im DDRA wieder
auf 0 geht (=Eingang?). DDRA = (1<<PA0) löscht nämlich PA1 wieder.

Grüße,
Freakazoid

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So. Hab mal ein wenig gepollined *g*:
PORTD = 6..12 ?
PORTA = 1..4 ?

Sind Pullups bei PortD eingeschaltet?
Sonst hängt der Port bis auf den von der Tastatur auf Masse gezogenen
Pin ein wenig in der Luft.

Grüße,
Freakazoid

Autor: Felix Jankowski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke. Richtig. Nur Pin 3,4 sind n.c. sonst stimmt alles. Pullups
sind aktiviert, funktioniert beim erstern mal auch wunderbar.

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, ich hab jetzt noch ein bisschen mit dem AVR rumgespielt. Ich glaube
mittlerweile wirklich, dass der µC-Pin kaputt ist. Er ist obwohl das im
Programm eindeutig anderst ist irgendwie immer Eingang und hängt in der
Luft.

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aslo hier für alle: Ich habe das Problem behoben indem ich zwischen DDRA
=... und scanx = ... noch ein
  asm volatile ("nop");
 eingeschoben habe. Offensichtlich ist der Chip zu schnell für den
Strom?!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.