RS232 Daten verarbeiten.

Gast #515889
Lesenswert?
• ▲
▼
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.




Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.