Für dieses Forum muß Javascript im Browser aktiviert werden!
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> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Ein wunderschönen Tag! > Ich habe die CC2 mit einem Datenhandschuh über die RS232-Schnittstelle mit 9600 Baut gekoppelt! > Problem ist, dass der Handschuh seine Daten permanent sendet (kein Empfang möglich!) und ich bei größeren > Berechnungen mit den empfangenen Werten Probleme mit der Synkronisation mit dem Empfang habe. > Bei kleineren Berechnungen läuft es ganz gut! > Was kann man da machen? Wahrscheinlich ist mein Code auch nicht so super, aber auf die Schnelle > viel mir nix besseres ein. > Zum Testen habe ich hier einen ferngesteuerten Wagen über den Handschuh gesteuert. > D.H der Handschuh hat einen Bewegungssensor. Wenn der Handschuh nach vorne kippt, dann würde > der Wagen nach vorne fahren. Wenn der Handschuh nach hinten kippt nach hinten. Und nach rechts und links, > dann würde der Wagen nach rechts und links fahren, das klappt auch fast immer, aber manchmal bekommt er halt > Probleme mit der Synkronisation. Um den Wagen zusteuern, werden einfach Port 0,1,2,3 benutzt. > Diese Ports ersetzen die Knöpfe an der Fernbedienung! > Hier mal mein Beispiel-Code: > > <code> > function Glove_Miniwagen() > { > setzte_int_Display("Glo-Mini"); //Funktion für die interne LCD-Anzeige > sleep 1000; > > //# Glove_Erkennung # > Glove_Erkennung (); //Um zuerkennen, ob ein Handschuh angeschlossen ist. > > //Erneute Erkennung zur Synchronisation und Datenerfassung > // Variablen deklarieren > int empfang1,empfang2,syncerror_flag,syncerror2_flag,poweron_flag; > int count,linkswert,rechtswert; > float links, rechts, wert; > string ueberwachung; > syncerror_flag=0; > syncerror2_flag=0; > poweron_flag=0; > > //Hardware-RS232-Schnittstelle initialisieren > hwcom.init(); > hwcom.setspeed(5); //9600 Baud > > while syncerror_flag!=1 > { > syncerror2_flag=0; > wait hwcom.rxd(); > empfang1= hwcom.get(); > if empfang1==1 //Endzeichen im Paket > { > wait hwcom.rxd(); > empfang2= hwcom.get(); > if empfang2==128 //Startzeichen im Paket > { > while syncerror2_flag!=1 > { > for count = 1 ... 10 > { > wait hwcom.rxd(); > wert= hwcom.get(); > > if count==6 //Enthält den "Pitch"-Wert Wert 255 ganz nach vorne gekippt! > //Wert 0 ganz nach hinten. 127 genau die Waage > { > if wert>=130 and wert<=155 //Der Wagen soll nicht fahren! > { > ports.set(0,0); //Vorwärts ist aus > ports.set(1,0); //Rückwärts ist aus > } > if wert<130 //Der Wagen soll Rückwärts fahren > { > ports.set(0,0); //Vorwärts ist aus > ports.set(1,1); //Rückwärts ist an > } > if wert>155 //Der Wagen soll Vorwärts fahren > { > ports.set(1,0); //Rückwärts ist aus > ports.set(0,1); //Vorwärts ist an > } > } > if count==7 //Enthält den "Roll"-Wert Wert 255 ganz nach vorne gekippt! > //Wert 0 ganz nach hinten. 127 genau die Waage > { > if wert>=100 and wert<=155 //Der Wagen soll nicht lenken! > { > ports.set(2,0); //Rechts ist aus > ports.set(3,0); //Links ist aus > } > if wert<100 > { > ports.set(2,0); //Rechts ist aus > ports.set(3,1); //Links ist an > } > if wert>155 > { > ports.set(3,0); //Links ist aus > ports.set(2,1); //Rechts ist an > } > } > if count==9 //Endzeichen des Paketes muß 1 sein > { > if wert!=1 > { > syncerror2_flag=1; > } > } > } > } > } > } > } > Portsoff(); //diese Funktion setzt die verwendeten Ausgangsport wieder auf 0 > setzte_int_Display("Sy-Error"); //Funktion für die interne Anzeige > sleep 1000; > setzte_int_Display("Auswahl"); > } > </code> > > Vielleicht kann mir mal jemand einen Tipp geben, sprich bessere Vorgehensweise > in Verbindung mit der hwcom-Schnittstelle! > > Gruß skontox >