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, > > > > > > > > > > > > > > ich bin absoluter Neuling beim Programmieren mit BASIC. Bei jedem Versuch ein Programm > > > > > > > zu Kompilieren wird die Fehlermeldung > > > > > > > "Syntax Fehler - erwartete 'EOF' , gefunden 'define'" > > > > > > > angezeigt > > > > > > > > > > > > > > Mein Miniprogramm zum Ausprobieren lautet im Moment : > > > > > > > > > > > > > > <basic>define eingang1 PORT[1] > > > > > > > define eingang2 PORT[2] > > > > > > > define ausgang3 PORT[3] > > > > > > > > > > > > > > Sub main() > > > > > > > If eingang1 = True > > > > > > > And eingang2 = True > > > > > > > Then ausgang3 = True > > > > > > > Else ausgang3 = False > > > > > > > End If > > > > > > > > > > > > > > End Sub</basic> > > > > > > > > > > > > > > Ich programmiere mit C-Control Pro IDE eine C- Controll Pro Mega 128 > > > > > > > > > > > > > > Beim Doppelklicken auf den Fehlercode wird immer die erste beschriebene Programmzeile markiert. > > > > > > > Bei "gefunden" im Fehlertext wird immer das erste Wort im Programm angezeigt. > > > > > > > > > > > > > > Was muss ich tun, dass dieses Problem nicht mehr Auftaucht. > > > > > > > > > > > > > > > > > > > > > Vielen Dank im Vorraus > > > > > > > Markus > > > > > > > > > > > > > > > > > > > Hallo Markus, > > > > > > > > > > > > die Syntax die Du benutzt ist nicht kompatibel zur C-Control Pro. Stammt die vielleicht > > > > > > von der C-Control I? Bitte schau in die Demoprogramme die mitgeliefert werden. > > > > > > > > > > > > Gruss Peter > > > > > > > > > > > > > > > Hallo Peter, > > > > > Danke für die schnelle Antwort. Ich werde mich mal durch die Demoprogramme wühlen. Weißt du ob > > > > > es irgendwo ein Dokument gibt in dem der Syntax der C-Control Pro anschaulich und allgemein > > > > > gehalten aufgelistet ist? > > > > > > > > > > Gruß Markus > > > > > > > > Hallo Markus, > > > > > > > > die Syntax des BASIC ist an Visual Basic angelehnt. Im Handbuch ist unter > > > > Compiler die Syntax knapp zusammengefasst. Schau Dir mal eine Einführung > > > > in ein älteres Visual Basic an, dann versuch vielleicht mal die Demoprogramme > > > > zu verstehen. Einige Features wie Klassen oder Structures werden aber nicht > > > > unterstützt. > > > > > > > > Gruss Peter > > > > > > > > > Danke > > > > > > hi > > > > bin auch noch nicht so der Mega Programmer, aber > > das scheint wirklich ein Code aus der ccBasic Reihe zu sein. > > > > bei der Mega habe ICH noch keine Zuweisung des Portes auf eine define Alias zuweisung gefunden. > > Was nicht heißen soll das es diese garnicht gibt, mir ist es eben nur noch nicht vor die Augen > > gekommen. > > > > Deinen Code würde ich, mit meinen geringen wissen zur 128 wie folgt umsetzen. > > Ob jetzt 100%ig richtig weiß ich nicht.... denke ja > > <basic> > > #define eingang1 1 'Achte auf die Raute am anfang # PORT[1] etc. gibt > > #define eingang2 2 'es soweit ich weiß nicht. > > #define ausgang3 3 > > > > Sub main() > > Port_DataDirBit(eingang1,0) 'die richtung des Portes auf Eingang > > Port_DataDirBit(eingang2,0) 'die richtung des Portes auf Eingang > > Port_WriteBit(eingang1,1) 'Die Funktion Port_WriteBit setzt den Wert > > 'eines Pins, der auf Ausgang geschaltet ist. > > 'Ist ein Pin auf Eingang geschaltet, so kann der > > 'interne Pullup Widerstand eingeschaltet (1) > > 'oder abgeschaltet (0) werden. > > Port_WriteBit(eingang2,1) ' > > > > > > Port_DataDirBit(ausgang3,1) 'die richtung des Portes auf Ausgang > > > > Do While(1) 'Endloser Programmlauf, sonst würde es sofort > > 'nach C-C Start beendet werden > > > > If eingang1 = True And eingang2 = True Then > > Port_WriteBit(ausgang3,PORT_ON) > > Else > > Port_WriteBit(ausgang3,PORT_OFF) > > End If > > End While 'Ende der While schleife > > End Sub > > </basic> > > > > Ich hoffe ich Anfänger konnte dir etwas helfen, die sache zu verstehen, falls ich mist hier erzähle > > bzw. fabriziert habe, darf gern jemand uns auf den rechten Pfad bringen ;) > > > > Gruß Jürgen > > Hallo, > Vielen Dank für deine Antwort. Leider funktioniert das so auch nicht. Der Kompilierfehler > ist zwar behoben (Klar der Syntax stimmt) allerdings ist die Funktion nicht gegeben. > Um zu verstehen warum sollte ich folgendes wissen: > Mit dem #define Befehl wird doch einer Variable eine Textkonstante zugeordnet > - kann diese als Text hinterlegte Zahl überhaupt noch als Zahlenwert verwendet werden? > - Wenn Ja, steht dann nicht in der IF Then Funktion nicht > <basic> > If 1 = True And 2 = True Then > Port_WriteBit(ausgang3,PORT_ON) > Else > Port_WriteBit(ausgang3,PORT_OFF) > End If > </basic> > ich meine mal gelesen zu haben (bitte korriegieren falsch falsch!!!), dass alle > Zahlenwerte die nicht 0 sind True sind. Das würde erklären warum am Ausgang > dauernd ein High signal anliegt. > > falls das soweit alles richtig war müsste diese IF THEN Funktion so lauten: > <basic> > If Port_ReadBit(Eingang1) = True And Port_ReadBit(Eingang2) = True Then > Port_WriteBit (Ausgang1,PORT_ON) > Else > Port_WriteBit (Ausgang1,PORT_OFF) > End If > </basic> > > leider Funktioniert das so auch nicht! Jetzt kommt nach einer kurzen Zeit nach dem > Start drücken der Ausgang. Beim Betätigen des Eingang1 passiert nichts. Beim > Betätigen von Eingang2 geht der Ausgang aus und kommt wieder nach einer kurzen zeit. > > Mein Programm lautet: > <basic> > Sub main() > > ' Variablen deklarieren > > #define Eingang1 16 > #define Eingang2 17 > #define Ausgang1 18 > > ' Ports deklarieren > > Port_DataDirBit(Eingang1,0) ' Eingang 1 > Port_DataDirBit(Eingang2,0) ' Eingang 2 > Port_DataDirBit(Ausgang1,1) ' Ausgang > > Port_WriteBit (Eingang1,1) > Port_WriteBit (Eingang1,1) > > Do While (1) > ' Programm starten > > If Port_ReadBit(Eingang1) = True And Port_ReadBit(Eingang2) = True Then > Port_WriteBit (Ausgang1,PORT_ON) > Else > Port_WriteBit (Ausgang1,PORT_OFF) > End If > > End While > > > > > End Sub > </basic> > Gruß Markus >