Das muss SerRead(&data, 1, 0); sein. Der erste Parameter ist die Adresse der Stelle, an die die empfangenen Daten abgelegt werden sollen, der Operator der dir die Adresse einer Variable zurück gibt, ist der &-Operator.
mfG
Markus
Werbung
Das muss SerRead(&data, 1, 0); sein. Der erste Parameter ist die Adresse der Stelle, an die die empfangenen Daten abgelegt werden sollen, der Operator der dir die Adresse einer Variable zurück gibt, ist der &-Operator.
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
So da bin ich mal wieder diesmal:
Der Asuro wartet zwar brav bis was gesendet wird, unterscheidet aber nicht nach unterschiedlichen chars. egal was man sendet er fährt los und hört auch beim senden von anderen zeichen nicht damit auf. Was stimmt da nicht?Code:#include "asuro.h" int main(void) { Init(); char data; while(1) { MotorDir(FREE,FREE); data = 0; BackLED(ON,ON); SerRead(&data,1,0); if(data == 'a') { MotorDir(FWD,FWD); MotorSpeed(200,200); } else { MotorDir(BREAK,BREAK); } } }
vg malte
Die Einrückung? Ok, im Ernst: Ich finde es erstaunlich, dass sich dein ASURO überhaupt bewegt. Du schaltest am Anfang deiner Schleife nämlich gleich Mal die Motoren aus, sie sind damit nach dem Einschalten am Ende der Schleife nur wenige Mikrosekunden an ... Und wenn du keine weiteren Zeichen sendest, sollte er dann eigentlich stehen bleiben. Hast du dir die empfangenen Zeichen Mal zurück gesendet (mit kurzer Verzögerung zwischen Empfang und Senden)?
mfG
Markus
Tiny ASURO Library: Thread und sf.net Seite
So jetzt funktioniert der Asuro Teil des Projekts in der ProbeV wie gedacht.
@Markus: hattest recht, die ÜPrüfung ob zweimal das gleiche ankommt verbessert das ganze wesentlich.THX
Aber das DelphiProblem mit der ser. Schnittstelle besteht weiterhin.
vg malte
Lesezeichen