-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Asuro IR Fernsteuerung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Beiträge
    5

    Asuro IR Fernsteuerung

    Anzeige

    Hallo zusammen,
    ich habe ein Problem bei der Fernsteuerung meines Asuro per IR
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	char daten[] = "0";
    	
    	Init();
    	MotorDir(FWD,FWD);
    	while(1)
    	{
    		SerRead(daten,1,0);
    		if(daten == "r")
    		{
    			MotorSpeed(255,255);
    		}
    		SerWrite(daten,1);
    	}
    	return 0;
    }
    wenn ich nun per hyperterminal ein r sende tut sich an dem Roboter nichts er sendet mit lediglich den Inhalt von daten zurück. Nun weiss ich nicht mehr wie ich da weitermachen soll... er empfangt ja einwandfrei ein r, die bedingung daten == "r" ist aber dennoch nicht WAHR aber trotzdem sendet er ein r zurück ... also was ich meine: an der einen stelle is in daten ein r, an der anderen nicht.
    wie bekomme ich es nun hin das er wenn ich per terminal ein r sende auch anfängt zu fahren ?

    so long
    peer

    ps: ich weiss das es bei der bedingten reichweite nonsens ist eine fernbedienung zu programmieren, doch dies hatte ich mir als vorübung vergenommen und bin schon gescheitert =(

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    daten ist ja ein array, wie du selbst definiert hast. Du brauchst es 1. nicht voher zu füllen und 2. musst du bei deiner If Abfrage auf daten[0] == "r" testen.
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Beiträge
    5
    also nun habe ich folgendes ausprobiert bzw an einigen stellen den quellcode abgeändert:

    ...
    SerRead(daten[0],1,0);
    if(daten[0] == "r")
    ...
    SerWrite(daten[0],1);
    so nun kommt wenn ich per terminal ein r seinde ein + zurück !!! Wieso ?
    naja dachte ich mir halb so wild stelle ich das if eben auf ein + um:
    if(daten[0] == "+")
    aber trotzdem passiert nichts als dass der asuro mir ein + zurücksendet aber trotzdem stehenbleibt!!
    Kann jm sagen woran das liegt ?

    so long
    peer

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo peer,

    SerRead(&daten[0],1,0) bzw. SerWrite(&daten[0], 1) sollte funktionieren.
    Die Funktionen erwarten einen Zeiger auf die Daten.

    gruß m.a.r.v.i.n

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    daten[0] liefert meiner Meinung nach shcon einen Zeiger zurück, da es ein Array ist. Dort bekommt man immer die Adresse, meine ich, oder irre ich mich?

    Du musst übrigens ach beachten, dass dein Transciever, jedes zeichen, dass du schickst auch selbst einmal empfängt. Hast du denn bei dir das Echo abgeschaltet? Also ob er es einmal hinschreibt und ob er es dann nohcmal empfängt?

    Ich glaube, dass sollte jemand anderes erklärenm, der das kann.

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Beiträge
    5
    hallo,
    die sache mit den zeigern hat auch nicht gefunzt.

    zu dem echo: wenn ich es mit den zeigern mache kommt wie am anfang rr als ausgabe wenn ich r drücke. wenn ich
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	char daten[] = "0";
    	
    	Init();
    	MotorDir(FWD,FWD);
    
    	while(1)
    	{
    		SerRead(daten[0],1,0);
    		if(daten[0] == "r")
    		{
    			MotorSpeed(255,255);
    		}
    		SerWrite(daten[0],1);
    	}
    	return 0;
    }
    nehme kommt r+ als ausgabe wenn ich r tippe ... vollkommen komisch das ganze !
    hat denn noch nie jm versucht seinen asuro ferzusteuern? wenn doch würd ich mir sehr gern die codes ansehen.

    so long
    peer

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo peer,

    im Asuro SelfTest ist so ein Fernsteuerungsprogramm enthalten. Das File heißt 'PCDemo.c'.

    Gruß m.a.r.v.i.n

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Beiträge
    5
    das is mir ein wenig kryptisch ...
    weiss denn niemand den fehler ?

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo peer,

    ohne es selbst ausprobiert zu haben, versuch doch mal folgendes:

    Code:
    #include "asuro.h"
    
    int main(void)
    {
       char daten[] = "0";
       
       Init();
       MotorDir(FWD,FWD);
    
       while(1)
       {
          SerRead(&daten[0],1,0);
          if(daten[0] == 'r')
          {
             MotorSpeed(255,255);
          }
          SerWrite(&daten[0],1);
       }
       return 0;
    }
    Gruß m.a.r.v.i.n

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Beiträge
    5
    JUHU es geeht
    danke marvin

    war ja ne schwere geburt .. so wie ich das nu verstanden habe bedeuten die & das es sich um einen Zeiger handelt!?

    naja nu komm ich erstmal weiter VIELEN DANK

    peer

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •