Schau mal hier rein http://www.rn-wissen.de/index.php/So...RT_mit_avr-gcc
sast
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/s...products_id=10
Die Ansteuerung der Servos (3) geht über ein MicroServoboard:
http://www.shop.robotikhardware.de/s...roducts_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
Schau mal hier rein http://www.rn-wissen.de/index.php/So...RT_mit_avr-gcc
sast
雅思特史特芬
开发及研究
In Bascom gehts besonders einfach mit den virtuellen Schnittstellen
(Ports müssen für RN-Control angepasst werden).
Code:Dim Tstr As String * 4 Dim Num As Word 'open channel for output Open "comb.1:9600,8,n,1" For Output As #1 Open "comb.0:9600,8,n,1" For Input As #2 Do Print #1 , "text: " Input #2 , Tstr Print #1 , Tstr Print #1 , "number: " Input #2 , Num Print #1 , Num Loop 'am ende schließen Close #1 Close #2
Mit bestem Gruß
Frank
Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog
Überzeugter und begeisterter Elektroauto Fahrer seit 2018
Lesezeichen