- 3D-Druck Einstieg und Tipps         
Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 45

Thema: Programm Starten und Stoppen über Hyper Terminal

  1. #31
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Vielleicht ist es auch eine gute Sache das Problem mit dein Programm und Hyperterminal zu reduzieren biss auf nur den StatusLED anschalten auf Rot oder Grün. Nun habest du Code drin das ihn fahren last, und das ist schwer mit den IR modul zu folgen mit der Hand. Und alles was nicht wirklich wichtig ist macht nur unübersichtlich.

    Was denkst du von:
    Code:
    #include "asuro.h" 
    #include "stdlib.h" 
    
    int main(void) 
    { 
       char message[1];
    
       Init();
       
       StatusLED(OFF); // Keine Grune StatusLED bitte. Das verwirrt.
    
      
       while( 1 ) 
       { 
         SerRead(message,1,1);  //Was für Zeichen gibt es nun? Aber nicht für immer warten.
         
         SerWrite("\n\r", 2); // Neue Zeile, nicht hinter das Lokalles Echo schreiben
         SerWrite("SerRead antwortet: ",19);
         SerWrite(message[0],1); //Empfangene Zeichen zurück senden, damit wir sehen können was schief geht.
         SerWrite("\n\r", 2);  // Neue Zeile, sonnst kommt alles hintereinander, und wird es unübersichtlich.
          
         if (message[0] == 'g' || message[0] == 'G') //!!! Kann kleine g und grosse G verstehen
          {
              StatusLED(GREEN);
          } // ende von if(message[0] == 'g')  
    
          if(message[0] == 's'|| message[0] == 'S') //!!! Kann kleine s und grosse S verstehen
          { 
             StatusLED(OFF); 
          } // ende von if(message[0] == 's')
    
        if !(message[0]=='g' || message[0]=='s' || message[0]=='G' || message[0]=='S')  // nicht ein 'g/G' empfangen oder nicht ein 's/S' empfangen, also ich bekomme etwas was nicht erwartet ist. 
         {
          StatusLED(YELLOW);
        }
          
       } // ende von while( 1 ) 
       return 0; 
    } //main(void)

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

    Radbruch, schämme dich!
    Ja, tut mir leid. Ich habe den unglücklichen Beitrag auch inzwischen gelöscht (ohne zuvor zu prüfen, ob neue Beiträge danach geschrieben wurden).

    Bis ich meinen asuro reaktiviert habe, halte ich mich wohl besser zurück. Es bringt auch nicht viel, wenn ich ungetestete Programme, die nicht mal fehlerfrei kompilierbar sind, unter die Leute bringe.

    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!

  3. #33
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    31
    Beiträge
    173
    Ist ja nicht so schlimm jeder kann sich verschreiben

    Bitte um hilfe

    mfg

  4. #34
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von radbruch
    Hallo

    Radbruch, schämme dich!
    Ja, tut mir leid. Ich habe den unglücklichen Beitrag auch inzwischen gelöscht (ohne zuvor zu prüfen, ob neue Beiträge danach geschrieben wurden).

    Bis ich meinen asuro reaktiviert habe, halte ich mich wohl besser zurück. Es bringt auch nicht viel, wenn ich ungetestete Programme, die nicht mal fehlerfrei kompilierbar sind, unter die Leute bringe.

    Gruß

    mic
    Ach neh, deine Programm Beispielen sind nicht so schlimm. Das war nur einer Witz.

  5. #35
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    31
    Beiträge
    173
    Hi


    Vielleicht ist es auch eine gute Sache das Problem mit dein Programm und Hyperterminal zu reduzieren biss auf nur den StatusLED anschalten auf Rot oder Grün. Nun habest du Code drin das ihn fahren last, und das ist schwer mit den IR modul zu folgen mit der Hand. Und alles was nicht wirklich wichtig ist macht nur unübersichtlich.
    Wie ist das gemeint soll ich das Programm lassen (weil es so komplex)
    ist oder inzwischen die Teile einfügen mit der Linienverfolgung?

  6. #36
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ich empfehle den Linienverfolgung (und was sonnst) für dieses moment weg zu lassen. Du möchtest laut den Threadtitel etwas starten und stoppen über HyperTerminal. Das korrekt reagieren auf den gesendete Zeichen ist nun das Wichtigste, wurde ich sagen. Das Linienverfolgung kannst du später wieder rein Programmieren wann es funktioniert wie du wünscht. Also, für mein Beispiel kannst du bestes ein neues Programm Ordner machen.

    Ich habe mein letztes Beispiel hier ober etwas geändert damit es was schöner aus sieht im Hyperterminal. ... Das heißt, ich habe das auch nicht ausprobiert auf meine Asuro. Ich hoffe...

    Code:
    ...
    SerRead(message,1,1);  //Was für Zeichen gibt es nun? Aber nicht für immer warten.
         
         SerWrite("\n\r", 2); // Neue Zeile, nicht hinter das Lokalles Echo schreiben
         SerWrite("SerRead antwortet: ",19);
         SerWrite(message[0],1); //Empfangene Zeichen zurück senden, damit wir sehen können was schief geht.
         SerWrite("\n\r", 2);  // Neue Zeile, sonnst kommt alles hintereinander, und wird es unübersichtlich.
    ...

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

    Ich würde das Problem auch mal aufbröseln und nur versuchen ein Echo vom empfangenen Zeichen zurückzuschicken.

    Ich habe zusätzlich noch ein eigenes Problem beim Testen: In der aktuellen WinAVR-Version erzeugen die SerWrite() und SerRead()-Funktionen eine Kompilerwarnung:

    test.c:45: warning: pointer targets in passing argument 1 of 'SerRead' differ in signedness
    test.c:46: warning: passing argument 1 of 'SerWrite' makes pointer from integer without a cast

    Das sind diese Befehle:
    45: SerRead(message,1,1);
    46: SerWrite(message[0],1);

    Nun weiß ich seit meiner Systemumstellung und dem ersten Auftreten dieser Warnung aber dafür schon eine Lösung. Diese scheint hier aber nicht zu funktionieren. Ob das an der Variable message liegt oder an den Libraries meines asuro-Clon kann ich im Moment leider noch nicht sagen.

    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!

  8. #38
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    31
    Beiträge
    173
    Ok ich gebe vorerst mal auf und werde mal mein Ultraschall anbauen

    Da kann ich ja dann auch noch solche Sachen testen (Liniensensoren habe ich dann ja nicht mehr )



    Danke für die Hilfe


    Mfg

  9. #39
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Schade das du aufgeben möchtest. Gleich nun wen es zu den ursache kommt.

  10. #40
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von radbruch
    Hallo

    Ich würde das Problem auch mal aufbröseln und nur versuchen ein Echo vom empfangenen Zeichen zurückzuschicken.

    Ich habe zusätzlich noch ein eigenes Problem beim Testen: In der aktuellen WinAVR-Version erzeugen die SerWrite() und SerRead()-Funktionen eine Kompilerwarnung:

    test.c:45: warning: pointer targets in passing argument 1 of 'SerRead' differ in signedness
    test.c:46: warning: passing argument 1 of 'SerWrite' makes pointer from integer without a cast

    Das sind diese Befehle:
    45: SerRead(message,1,1);
    46: SerWrite(message[0],1);

    Nun weiß ich seit meiner Systemumstellung und dem ersten Auftreten dieser Warnung aber dafür schon eine Lösung. Diese scheint hier aber nicht zu funktionieren. Ob das an der Variable message liegt oder an den Libraries meines asuro-Clon kann ich im Moment leider noch nicht sagen.

    Gruß

    mic
    Den SerialTest code im Selbtest Program hat ein Ampersand neben den Zeichenketten Variabele. Ich weiss leider nicht mehr was das macht.

    Code:
    /* ----------------------------------------- */
    /* -------------- Serial Test -------------- */
    /*   ASURO sends recieved data+1 directly    */
    /* when TIMEOUT occures ASURO is sending 'T' */
    /* ----------------------------------------- */
    void SerialTest(void)
    {
    	unsigned char data;
    	unsigned char i;
    	for (i = 0; i < 0xFE; i++) { 
    		StatusLED(GREEN);
    		SerRead(&data,1,0xFFFE);
    		StatusLED(RED);
    		if (data != 'T') data += 1;
    		SerWrite(&data,1);
    	}
    }
    /* END Serial Test -------------------------- */

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test