PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie bekomme ich die Anzahl der gefahrenen Schritte ??



ppGoV
08.06.2005, 18:34
hallo,

ich würde gerne wissen was genau passiert wenn ich den print befehl zum abfragen der gefahrenen schritte ausführe? im handbuch steht nur das dieser wert ein long wert wäre.
mich interessiert nun wie ich konkret im detail die schrittanzahl zurück bekomme und in meinem programm weiterverarbeiten kann?
(ich will die gefahrenen schritte einzeln in variablen speichern können und nicht über ein terminal oder ein fenster ausgeben!!)

details am rande:
programmierung erfolgt in c, daher mussten wir einige print befehle ein wenig an die c-syntax anpassen.
die print-befehle zum steuern der motoren werden über buttons einer webseite ausgeführt, die auf einem µc (genauer gesagt auf der embedded webserver software auf dem µc) läuft.


vielen dank im vorraus,
ppGov

PicNick
08.06.2005, 18:54
Wir hatten da eine ähnliche Sache
http://195.128.164.40/rt_music/electronic/frame1.htm (Marsrover)

Wenn du ein bißchen konkreter wirst, woher die Schrittzahlen eigentlich kommen, kann man vielleicht ein paar Tips geben

ppGoV
08.06.2005, 19:33
die schritte die die schrittmotoren machen werden ja auf dem rn board (treiberstufe für schrittmotoren) mitgezählt.
ich schicke nun meinerseits einen printf-befehl über rs232 von meinem µc-board (phytec board mit infinion c167hse d.h. mit ethernetschnittstelle).
dieser printf-bef. hat die formatierung wie im handbuch beschrieben- "gibt die anzahl der gefahrenen schritte zurück"....
ich will jetzt wissen wie er das macht und in welcher formatierung (für rechten und linken motor...). der einzige hinweis im handbuch ist, das der rückgabe wert ein long-wert sei...

nochmal ein paar details zum ablauf:

1. homepage mit buttons; "Motoren Start"....

2. pc ist per wlan mit dem auto in kontakt und übermittelt
über die html get-method die id-tags der geklickten buttons der webseite

3. diese werte werden auf dem µC interpretiert.

4. daraufhin wird ein entprechender printf-befehl zum kalibrieren der motoren zum rn motor board geschickt.

das raustreiben funktioniert ja auch soweit einwandfrei. wird ja alles ZUM rn-board hingeschickt.
beim abfragen der gefahrenen schritte muss ich aber jetzt ja auch was wiederbekommen...und da ist mir nicht klar wie das funktionieren soll...

any suggestions???
thx a lot...

Frank
09.06.2005, 10:39
Die Schritte werden doch bei der RS232 Ansteuerung im Klartext zurückgegeben. Du müsstest also nur die Rückgaben in Bascom auswerten. Die Schrittzahl steht in einer Zeile, dadurch dürfte mit Stringbefehlen und eventuell VAL-Befehl die Umwandlung in einen Variable einfach sein.
Mit "Long" ist nur die interne Definition in RN-Motor gemeint. Nur per I2C wird der Wert in 4 Byte (Long Wert) zurückgegeben, bei RS232 als Klartext (ASCII). Kannst du mit PC-Testprogramm ja ausprobieren.

Gruß Frank

ppGoV
09.06.2005, 12:37
das problem ist das ich bascom nicht nutze. ich nutze den tasking ede c compiler von altium, der auf mein µc board zugeschnitten ist.
über das test pc-programm läuft es; das habe ich getestet. ich bekomme nur gerade die realisierung in ansii c nicht hin ..!?

gruss,

ppgov

PicNick
09.06.2005, 12:54
Das ist der Jammer mit C.
Er hat einen Vorteil:
Du kannst alles machen
und einen Nachteil:
Du mußt alles machen

Du wirst wohl die UART anprogrammieren müssen, wenn dir keine spezial-Library dabei hilft. (scanf ?)