Re: Probleme mit SW1 & SW2 Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 3.04.2009 19:56) | |
Als Antwort auf Probleme mit SW1 & SW2 von KlausS - 3.04.2009 15:35
| |
Hallo Klaus, das wurde auch hier letztens in einem anderen Forenthread behandelt. Die Eingänge floaten, wenn kein PullUp oder PullDown angeschlossen wird. Schau mal in die Demoprogramme, dort wird der interne PullUp aus diesem Grund gesetzt. Gruss Peter > Hallo Zusammen > > Ich habe seit einigen Tagen mein C-Control Mega 128 inclusive Application Board und versuche mich gerade > ein wenig damit vertraut zu machen. > Ich komme aus dem Informatik bereich, der Programmier part macht bisher keine grö�eren Probleme, > allerdings ist mir beim Hardware bereich noch nicht alles ganz klar. > > Als kleinen test wollte ich ein Programm schreiben das mir die zustände der Schalter SW1 und SW2 > auf dem Display ausgibt. > > Für SW1 funktioniert das prima, allsdings macht mir SW2 ein wenig Probleme. > Ich nutze den unten angehängten Code > > Ist keine Taste gedrück erscheint wie gewünscht in der ersten und zweiten Zeile eine 1. > Drücke ich nun SW1 erscheint in der ersten Zweile wie gewünscht die 0 > Alelrdings ebenso in der zweiten Zeile, allerdings flackert die ab und an und es ist nich immer klar zu > erkennen ob jetzt eine 1 oder eine 0 dargestellt werden soll. > Gehe ich per debugger durch das Programm sehe ich das Port_ReadBit(PORT_SW2) immer mal wieder 0 > zurück gibt obwohl SW2 nicht gedrückt wird. > > Drücke ich nun SW2 wird der wert für SW1 richtig ausgelesen. Für SW2 zunächst auch. allerdings wird > nach dem loslassen von SW2 noch für etwa 2 Sekunden 0 ausgelesen. > > mache ich einen Grundlegenden Fehler oder Spinnt mein Application Board irgendwie an der Stelle? > > Ein weiteres problem ist, dass wenn ich das Board ohne USB betreibe, Programme erst nach dem > Drücken von RESET1 gestarted werden. > > Bin für jede Hilfe dankbar > > Grü�e > Klaus > > > byte schalter1; > byte schalter2; > void main(void) > { > Port_DataDirBit(PORT_SW1,PORT_IN); > Port_DataDirBit(PORT_SW2,PORT_IN); > LCD_Init(); > LCD_ClearLCD(); > LCD_CursorOff(); > while(true) > { > schalter1 = Port_ReadBit(PORT_SW1); > if(schalter1==0) > { > LCD_CursorPos(0x00); > LCD_WriteChar(48); > } > else > { > LCD_CursorPos(0x00); > LCD_WriteChar(49); > } > schalter2 = Port_ReadBit(PORT_SW2); > if(schalter2==0) > { > LCD_CursorPos(0x40); > LCD_WriteChar(48); > } > else > { > LCD_CursorPos(0x40); > LCD_WriteChar(49); > } > } > } | |
Antwort schreiben Antworten: Re: Probleme mit SW1 & SW2 (von KlausS - 4.04.2009 12:26) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum