Hallo zusammen, ich habe 14 Tasten als 4x4 Matrix verschaltet und habe die 8 Kabel an den Port B angeschlossen. Als erste initialisiere ich den Port folgendermaßen: ldi akku, 0b00001111 out PORTB,akku ldi akku, 0b11110000 out DDRB, akku sbis PINB,0 rcall PB0i sbis PINB,1 rcall PB1i sbis PINB,2 rcall PB2i sbis PINB,3 rcall PB3i Bei der Auswertung springe ich dann in ein Unterprogramm, welches folgendermaßen aussieht: PB1i: ldi akku, 0b11110000 out PORTB, akku ldi akku, 0b00001111 out DDRB, akku sbis PINA, 4 rcall PRESET1 sbis PINA, 5 rcall PRESET1 sbis PINA, 6 rcall PRESET1 sbis PINA, 7 rcall PRESET1 ret Aber irgendwie macht das komplette Zeugs nur Probleme. Ich kann noch nicht einmal richtig sagen, was der Fehler ist. Da ich Assembler programmiere und C (noch) nicht kann, bitte keine Hinweise auf C#-Lösungen. ;-) Im Voraus vielen Dank für jegliche Hilfe. Gruß Markus
Hallo Markus, ich vermute einen Denkfehler. Gib uns mal bitte Deine Schaltung dazu? Bernhard
Was verstehst du unter Schaltung? Was ich inzwischen gemerkt habe: die erste Auswertungsroutine (sie ist mein Hauptprogramm) funktioniert. Die Unterroutinen für die 2. Auswertung werden aufgerufen. Ab hier hakt es. Diese Auswertung funktioniert nicht. Hilft das weiter?
>Was verstehst du unter Schaltung?
Einen Schaltplan
Welche Potentiale liegen wo an, wenn eine Taste betätigt wird?
Bernhard
Ich habe den Fehler gefunden: man sollte auch in den Unterroutinen Port B ansprechen und nicht Port A. Ich glaube die schwüle Hitze heute hat mein Gehirn lahmgelegt. ;-) Sorry für dieses sinnlose Posting und danke Bernhard, dass du versucht hast mir zu helfen. :-) Aber nach meiner Erleuchtung funktioniert es endlich. Und dafür habe ich über 3 Stunden meines Lebens vergeudet... ;-) Nochmals danke und Gruß Markus
@Bernhard: Atmel-ApplicationNote AVR240...
Hallo Rahul, habe gleich mal nachgeschut und auch gefunden ;) http://www.atmel.com/dyn/products/app_notes.asp?family_id=607 Danke Bernhard
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.