mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Portexpander zum lesen eines Zahlenfeldes


Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich möchte eine Zutrittskontrolle per Transponder bauen,welche als 
zusätzliche Absicherung eine Passwordabfrage machen soll.

Ich arbeite mit einem ATMega8 von Atmel , welcher sich auf einer 
Testplatiene befindet (My AVR Board MK2 USB)

Durch die Experimentierplatiene sind keine Vollständigen Ports 
verfügbar.Daher habe ich mir einen Portexpander gekauft, der über einen 
I²C Bus angesteuert wird.

Nachdem ich mir ein Beispielprogramm des Portexpanders runtergeladen 
habe, zweifele ich daran, das ich mit dem Befehl "GETKBG" arbeiten kann.

Ich bin jedoch an das MK2-Board gebunden da ich zusätzlich die 
MyTWI-Echtzeituhr gebrauche.

Ich Hoffe das mir jemand einen Tipp,eine Alternative zum GETKBG,... 
geben kann.

Vielen Dank im Vorraus

Hero

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich gehe mal davon aus, das "GETKBG" irgendwas zum lesen einer 
Matrixtastatur sein soll. Wie schon von dir vermutet, wird sich diese 
Funktion nur für einen Anschluss der Tasten direkt am AVR konfigurieren 
lassen.
Damit musst du deine Tastenabfrage selbst basteln ...

also über I2C Spaltenleitung aktivieren, anschließend Zeilenleitung 
einlesen und das alles zyklich mit allen Spalten wiederholen und 
auswerten.
Es reicht ja wenn du die Abfrage aktivierst, wenn auch eine Eingabe 
erwartet wird.

Sascha

Autor: Mike Dupo (hero2992)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich möchte mich erst für die schnelle Antwocht bedanken, ich 
hatte von beginn an vor die abfrage erst zu aktivieren, wenn eine 
Eingabe erwartet wird, doch das ist vorest das kleinste Problem.

Da ich bisher noch nie mit I²C Bus gearbeitet habe, habe ich es schwehr 
ein eigenes programm zu schreiben. Ich habe bisher 2 Beispielprogramme 
gelesen und versucht zu analysieren.Gröstenteils verstehe ich sie auch, 
nur habe ich keinen Durchblick wenn es um das deklarieren eigener 
Subroutinen geht.

Ich habe mich noch etwas informiert und diesen Code gefunden der eine 
vereinfachte Tastenabfrage wiedergibt.

Code:
Anfang der Wiederholungsschleife
Alle Ausgänge aus
Ausgang 1 an
Wenn Eingang 1 ein Signal bekommt, ist Taste 1 gedrückt
Wenn Eingang 2 ein Signal bekommt, ist Taste 4 gedrückt
Wenn Eingang 3 ein Signal bekommt, ist Taste 7 gedrückt
Wenn Eingang 4 ein Signal bekommt, ist Taste * gedrückt
Alle Ausgänge aus
Ausgang 2 an
Wenn Eingang 1 ein Signal bekommt, ist Taste 2 gedrückt
Wenn Eingang 2 ein Signal bekommt, ist Taste 5 gedrückt
Wenn Eingang 3 ein Signal bekommt, ist Taste 8 gedrückt
Wenn Eingang 4 ein Signal bekommt, ist Taste 0 gedrückt
Alle Ausgänge aus
Ausgang 3 an
Wenn Eingang 1 ein Signal bekommt, ist Taste 3 gedrückt
Wenn Eingang 2 ein Signal bekommt, ist Taste 6 gedrückt
Wenn Eingang 3 ein Signal bekommt, ist Taste 9 gedrückt
Wenn Eingang 4 ein Signal bekommt, ist Taste # gedrückt
Alle Ausgänge aus
Ende der Wiederholungsschleife

Ich versuche noch irrgend was über das Programmieren von I²C Bus 
rauszufinden, damit ich so schnell wie möglich mit meiner Endarbeit 
fortfahren kann...

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in welcher Sprache programmierst du ? - BASCOM ?

da gibt's doch sicher schon Funktionen zum I2C-Zugriff !?
(Byte lesen/schreiben)

welchen Portexpander verwendest du?

Sascha

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.