Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > 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); > } > } > }