Hi zusammen!
Ich arbeite gerade an einem AT90CAN128, um verschiedene Schnittstellen
zu bedienen.
Meine Idee ist es, einen Programmierbutton einzusetzen, der entweder die
Software durchstarten lässt oder über die serielle Schnittstelle nach
einer Konfiguration fragt.
Der Code dazu:
1 | prog_mode = prog_button();
|
2 |
|
3 | switch(prog_mode) //Progmodus: button gedrueckt?
|
4 | {
|
5 | case 1: //ja
|
6 | uart_send(0,22,"Bitte Auswahl angeben\n");
|
7 | uart_send(0,22,"Auswahl mit Buchstabe\n");
|
8 | /*
|
9 | STATUS_LED_on;
|
10 | recv_data = uart_getchar(0);
|
11 | STATUS_LED_off;
|
12 | */
|
13 | uart_send(0,10,"Auswahl:");
|
14 | //uart_send(0,1,recv_data);
|
15 | break;
|
16 | default:
|
17 | break;
|
18 | }
|
19 |
|
20 | uart_send(0,10,"Starte...");
|
Die Funktion prog_button() sieht so aus:
1 | int prog_button()
|
2 | {
|
3 | if( (PINE & ( 1 << PE3 )) == 0 )
|
4 | return 1;
|
5 | else
|
6 | return 0;
|
7 | }
|
Mein Problem: Nach einem Reset (über den Resetpin) wird die Auswahl
nicht mehr angezeigt; erst ein kompletter Spannungsverlust liefert den
Dialog. Da das doch etwas umständlich ist: Kann ich das deaktivieren?
Grüße
Florian