www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 Daten verarbeiten.


Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.





Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, werde ich mir mal heute nacht angucken :)

jonas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.