Hallo, ich bin seit geraumer Zeit damit beschäftigt, einen Fehler in meinem Programm zu finden. Jedoch leider erfolglos. Das Display zeigt immer den Startmenüeintrag an. Auf eine Eingabe reagiert das Display überhaupt nicht. Da ich mich erst seit kurzem mit Strukturen und Zeigern beschäftige fällt mir die Fehlersuche entsprechend schwer. Es würde mich freuen, wenn sich von euch mal jemand das angehängte Listing anschauen und mir einen Tipp geben könnte. Tobias
Ich glaube diese Zuweisung "bool = 1;" in den Tastenabfragen solltest du ändern. Es gibt in C jetzt seit dem Standart C99 auch den Datentyp bool. Hier in den Link: Beitrag "Re: typ bool im Winavr" steht nochmal was dazu. Dies wird zwar dein Problem nicht lösen. Der Code wird aber besser. Zum debuggen könntest du vielleicht LED's einschalten und zB. testen ob diverse Programmteile überhaupt erreicht werden. So kannst du auch erstmal deine Entprellroutinen testen. Vielleicht funktionieren die ja nicht. gruß ralf
Die Tastenabfrage habe ich schon getestet, indem ich am PortA LEDs anschalte (ISR). Ich habe auch schon verucht der Variablen input einen festen Wert zuzuweisen. Dies brachte jedoch keine Änderung. Tobias
Hi in deiner Main-Funktion verwendest du folgende while-Schleife:
1 | while(0); |
2 | {
|
3 | ...
|
4 | }
|
Das macht keinen Sinn! Ändere das bitte ab:
1 | while(1) |
2 | {
|
3 | ...
|
4 | }
|
Ciao, Manfred
OK, hab ich gemacht, danke Manfred. Jetzt gibt das Display garnichts mehr aus! Es wird nur noch initialisiert. Bin langsam echt am verzweifeln!! Gruß Tobias
Hi, hast du bemerkt, dass ich am Ende der Zeile while(1) kein ; mehr gemacht habe? Ich hoffe das hast du so übernommen, denn while(1); ist eine Endlosschleife, die gar nicht macht!
Ja, hatte ich kurz übersehen, dann aber richtig gestellt. Das Programm läuft jetzt schon mal!!!!!! Aber bei manchen Eingaben (WEITER,ADD und SUB) flakert die Zahl hinter Hallo. Kann das mit dem Entprellen der Taster zu tun haben oder liegt das am Programm selbst? Auf jeden Fall mal ein dickes DANKESCHÖN!!! Das passiert mir auch nimmer! Tobias
Hi, das Flackern müsste vom Tastenprellen kommen. Wie verhält sich denn die Zahl hinter Hallo? Wenn diese Zufallswerte annimt (zwischen 1 und 3) liegt es definitiv am Prellen. Ciao, Manfred
Ja, sie nimmt zufallswerte zwischen 1 und 3 an. Ich benutze das STK500. Wieviel zeit brauch ich zum entprellen? Ich habe die for-Schleife in der ISR ein paar mal (5mal) untereinander geschrieben. Geändert hat sich jedoch nichts: Tobias
Sorry Tobias, das kann ich leider nicht beantworten (bin Programmierer). Aber da gibt es hier sicher viele andere Threads zum Thema Entprellen... Ciao, und schönen Feierabend... Manfred
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.