Gast
#684551
Hallo, ich habe ein ganz seltsames Problem, ich habe 8 Tasten an meinem AT90CAN128 angeschlossen, die gegen + schalten. Die Pins des Controllers hängen also im nichtbetätigeten Zustand über 10k Pulldown Widerstände gegen Masse. Wird eine Taste gedrückt, so bekommt der Pin High Pegl. Soweit alles tip top, funktioniert auch. Allerdings habe ich das Problem, jedesmal wenn ich mein Programm starte, bzw. das Board einschalte, springt mir das Programm in eine Routine, die hinter der ersten Taste an PA0 hinterlegt ist?? Tastenentprellung über Interrupt usw. hab ich alles eingebaut, funktioniert auch bestens, nur das erste mal darf eben nicht sein!! Woran kann sowas liegen?? Hier noch etwas Code, zum die erste Taste abfragen: if (get_key_press(1<<PA0)) //Abfrage der Flanke Taster SN0 { lesen_contr (0x00); //Funktion zum lesen von Controllregister 0 uart_puts0 (&USART_RxBuf[0]); //Reginhalt an Terminalprogramm schicken LCD_puts("Contr.Register 0 auslesen");//Ausgeführte Fkt an Display anzeigen } Wie kann ich verhindern das das Programm immer beim ersten mal in diese Routine läuft? En Tip wäre voll super. Danke Gruß