Friedrich Mairhofer
17.03.2011, 11:54
Hallo Community,
bin Student im Bereich Mechatronik/Robotik. Im Zuge einer Projektarbeit ist die Ansteuerung eines Deltaroboters zu realisieren. (Über GUI)
Es wird eben ein RNcontrol Eval- Board benutzt.
siehe Hier: http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=10
Die Ansteuerung der Servos (3) geht über ein MicroServoboard:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=118
So, wie der Titel schon sagt möchte ich ein "virtuelle RS232 Schnitstelle" erzeugen, da die eine RS232 Schnittstelle für die Kommunikation mit der GUI gedacht ist. (falls wer fragt programmierung geht über JTAG).
Für die Kommunikation mit dem Micro Servo Board muss ich jetzt 3 bytes übertragen.
Ablauf:
1) Ich bekomme jetzt die Daten von der GUI
2) Hab einen Algorithmus der mir das in Winkel umrechnet
3) Übertrage die Daten dann an Servoboard
Jetzt mein Denkansatz zur Erzeugung von einer RS232 Schnittstelle (muss nicht stimmen ;-):
Ich nehme das erste der 3 Bytes und vergleich es jetzt mit einer Maske
sprich die Bitfolge ist 01110001
Maske hat z.b. 0000 0001
Diese beiden Signale werden mit einem
& verknüft und in
eine if- Anweisung hinein geschmissen (sprich wenn 1 dann ausgabe am Pin)
In der If- Anweisung habe ich nun eine Schleife mit einem Timer der mir die Signallänge erzeugt.
Sprich ich stelle Timer > starte diesen > wenn Overflow > dann Ende mit Signalübertragung.
Nur mein Problem ist jetzt dass das nicht funktionieren wird, weil ich dann wieder Überprüfen muss ob ein Bit vorhanden ist (mit der nächsten Maske) und dadurch eine Totzeit ensteht.
Und bevor ich jetzt hier umher programmiere (auch mit Interrupts) und anderem Zeug das mir ganz schlecht wird wollte ich nochmal hier anfragen ob irgendwer eine Lösung weiß.
mfg
bin Student im Bereich Mechatronik/Robotik. Im Zuge einer Projektarbeit ist die Ansteuerung eines Deltaroboters zu realisieren. (Über GUI)
Es wird eben ein RNcontrol Eval- Board benutzt.
siehe Hier: http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=10
Die Ansteuerung der Servos (3) geht über ein MicroServoboard:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=118
So, wie der Titel schon sagt möchte ich ein "virtuelle RS232 Schnitstelle" erzeugen, da die eine RS232 Schnittstelle für die Kommunikation mit der GUI gedacht ist. (falls wer fragt programmierung geht über JTAG).
Für die Kommunikation mit dem Micro Servo Board muss ich jetzt 3 bytes übertragen.
Ablauf:
1) Ich bekomme jetzt die Daten von der GUI
2) Hab einen Algorithmus der mir das in Winkel umrechnet
3) Übertrage die Daten dann an Servoboard
Jetzt mein Denkansatz zur Erzeugung von einer RS232 Schnittstelle (muss nicht stimmen ;-):
Ich nehme das erste der 3 Bytes und vergleich es jetzt mit einer Maske
sprich die Bitfolge ist 01110001
Maske hat z.b. 0000 0001
Diese beiden Signale werden mit einem
& verknüft und in
eine if- Anweisung hinein geschmissen (sprich wenn 1 dann ausgabe am Pin)
In der If- Anweisung habe ich nun eine Schleife mit einem Timer der mir die Signallänge erzeugt.
Sprich ich stelle Timer > starte diesen > wenn Overflow > dann Ende mit Signalübertragung.
Nur mein Problem ist jetzt dass das nicht funktionieren wird, weil ich dann wieder Überprüfen muss ob ein Bit vorhanden ist (mit der nächsten Maske) und dadurch eine Totzeit ensteht.
Und bevor ich jetzt hier umher programmiere (auch mit Interrupts) und anderem Zeug das mir ganz schlecht wird wollte ich nochmal hier anfragen ob irgendwer eine Lösung weiß.
mfg