Hi, ich habe jetzt viele 1000 Versuche gemacht, die Daten, die ich Zeichenweise per Interrupt in einem array speicher, zu verarbeiten. Mein Ziel ist es Per RS232 (zum Test über Hyperterminal und dann über ein VB-Programm) meine 3 Schrittmotoren anzusteuren. Prinzip: [Nr. des Motors] ENTER [Anz. der Stepps.] ENTER [Richtung] ENTER [Halb-, Vollschritt] Beispiel: 1 // Motor 1 ENTER 400 // 400 Stepps = 1 Umdrehung ENTER 1 // Linslauf ENTER 0 // Vollschritt ENTER In der Praxis schaffe ich es, dass der Motor, den ich wie oben genannt auswähle 0-9 Schritte macht, da ich einfach nicht weiß wie ich einen ganzen Arry übergebe, also nur die erste Ziffer (array[0]) Hoffe einer weiß was ich meine und weiß auch die Lösung... Jetzt die Codes: Funktion der Stepper (Funktioniert daher nur die "Definition"): stepper(int drive, int steps, int dir, int mode) {...} Interrupt bei RS232-Empfang (klappt bis auf das genannte Problem): SIGNAL(SIG_UART_RECV) { ... con_str[1]=temp_str - (48*NextStr); // -48, damit ich den ASCII-Wert in den "richtigen" Wert bekomme... Bsp.: ASCII:050 enspricht der 2 <-> 050-48 = 2 NextStr ist dabei die Anzahl an empfangnen Zeichen.... Wer eine Funtion dafür kennt, kann sie mir gerne mitteilen^^ ... stepper(con_str[0],con_str[1],con_str[2],con_str[3]); ... } Ich habe nur den Teil geposted wo das Problem liegt. Nämlich die übergabe des Array "temp_str" in das array "con_str[1]". Wer sich fragt warum - ganz einfach ich speicher nach jeden "[ENTER]" den empfangenen String in con_str[0-3], damit ich sie am Ende an die Stepper-Funktion übergeben kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.