- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Inhalt einer Variable über die IR-Schnittstelle übermitteln.

  1. #1

    Inhalt einer Variable über die IR-Schnittstelle übermitteln.

    Anzeige

    E-Bike
    Tja der Titel sagt es ja schon ich möchte den Inhalt einer Variable beim Asuro übermitteln.

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Ich habe zwar keinen Asuro, aber laut den Schaltunterlagen ist doch eine Sende-Empfangseinrichtung über RX/TX vorhanden. Wo liegt dann das Problem. Vorlagen zur Sendesoftware sind im Datenblatt vorhanden.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Gut also nehmen wir mal an, dass ich die Helligkeit bei den Rädern gerne wissen möchte und jetzt nehmen wir an ich würde diese auch speichern und zwar unter der Variable "Helligkeit" und jetzt nehmen wir an ich möchte diese Daten über die IR-Schnittstelle senden und über das Hyperterminal einsehen.

    Ich kann jetzt nicht einfach SerWrite("Helligkeit",12); schreiben da er mir dann ja nur Helligkeit senden würde und ich möchte ja den Inhalt der Variable haben.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    04.07.2009
    Alter
    31
    Beiträge
    31
    So gibt er dir den linken Wert aus.

    Code:
    #include "asuro.h"
    
    int main(void){
    
       unsigned int line[2], i;
       Init();
    
       void PrintInt(int wert)
         {     
         char text[16]="      ";
         itoa(wert,text,10);
         SerWrite(text,strlen(text));
         }
    
       FrontLED(ON);
       StatusLED(OFF);
    
       while(1){
           LineData(line);
           PrintInt(line[0]);
           SerWrite("\n", 1);		
           for(i= 0; i< 200; i++){
               Sleep(255);
           }
       while(1);
       return 0;
    }
    Die Funktion LineData(); schaut, wie viele zahlen oder bustaben die variable enthält, da dass ja immer angegeben werden muss, denn wenn der wert über 1000 geht müssen ja 4 Zahlen gesendet werden.

    mfg
    Hannes

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Variablen kann man auch selbst in Zeichenketten umwandeln und mit SerWrite() senden:
    Code:
    // aus: https://www.roboternetz.de/phpBB2/ze...=328394#328394
    void PrintChar(unsigned int x)
    {
       char ergebnis[5]  = {'0','0','0','0','0'};
       while (x >=10000) { ergebnis[0]++; x -=10000; }
       while (x >= 1000) { ergebnis[1]++; x -= 1000; }
       while (x >=  100) { ergebnis[2]++; x -=  100; }
       while (x >=   10) { ergebnis[3]++; x -=   10; }
       ergebnis[4] +=x;
       SerWrite(ergebnis,5);
    }
    Das ist vielleicht nicht sehr elegant (führende Nullen?), aber man sieht, wie es funktioniert.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Danke schön an euch beide.

  7. #7
    Noch eine Frage an dich core duo was bedeutet itoa.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    04.07.2009
    Alter
    31
    Beiträge
    31
    das ist ne fnktion, welche integer in einen string convertiert.

  9. #9
    Bei mir fährt dann ein Stück vorwrts und dann im Kreis.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    04.07.2009
    Alter
    31
    Beiträge
    31
    warum lässt du ihn denn fahren, du willtst doch nur die Werte haben?!

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests