- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 19

Thema: Serielle Schnittstelle - Input Echo

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    Danke für die Antwort,
    hab auf deiner Seite schonmal vorbeigeschaut aber nicht die Lösung des Problems gefunden:
    vielleicht ein bisschen genauer:
    Die Andere Seite der seriellen Schnittstelle schickt zur Bestätigung das geschickte Zeichen wieder zurück und dieses wird dann direkt wieder zurückgeschickt. Also empfängt die andere Seite (ein Roboter) das Zeichen doppelt, was bei toggle befehlen nicht so praktisch ist.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Da fehlen mir noch ein paar Infos. Worüber wird kommuniziert? USB-Seriell Wandler oder die "integrierte" ttyAMA0? Welche Sprache wird verwendet? C, sh, bash, python? Wie wird die Schnittstelle genau initialisiert?
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Genau.
    Poste mal bitte beide Programme/Abläufe zu dem ganzen.
    Weil das ist nicht das "normale" Verhalten der UART Schnittstelle vom rPi das es einfach Daten wieder zurück schickt, frei nach dem Motto "Will ich nicht haben"
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    Hey,
    die Geschichte passiert schon bevor ich versuche zu empfangen.
    Sobald ttyAMA0 auf die korrekte Baudrate eingestellt ist werden empfangene Zeichen zurückgeschickt.
    Hier die Test Datei auf dem Atmega 32, die wenn ich sie starte fröhlich blinkt.
    Code:
    atmega 32
    
    
    
    
    usart initialisierung
    
            UCSRC |= (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1);        // Asynchron, 8N1
            UBRRH=(uint8_t)(UART_BAUD_CALC>>8);                        // Baudrate wählen
            UBRRL=(uint8_t)UART_BAUD_CALC;
    
            UCSRB |= (1 << TXEN);        // UART TX (senden) einschalten
            UCSRB |= (1 << RXEN);        // UART RX (empfangen) einschalten
            
    
    usart funktionen:
    
    void usart_putc(unsigned char c) // Ein Zeichen senden
    {
        while(!(UCSRA & (1 << UDRE)));        // warte, bis UDR bereit 
        UDR = c;                                // sende Zeichen 
    }
    
    
    int16_t usart_getc_nowait (void)
    {
        // Liefert das empfangene Zeichen, falls etwas empfangen wurde; -1 sonst 
        return (UCSRA & (1 << RXC)) ? (int) UDR : -1;
    }
    
    
    
    
    testprogramm:
    
    while(1)
            {
             empfangen=usart_getc_nowait();
              if(empfangen=='B')
             {
             if (!z_led_links)
                    {
                    led_links(gelb);
                    z_led_links=1;
                                                            
                    }
                    else
                    {                        
                    led_links(aus);
                    z_led_links=0;                                                        
                    }                                
            }
            
            if(kontroll_zaehler>=50) // Sekunde
            { 
              led_rechts(gruen);
             usart_putc ('B');
            
             kontroll_zaehler=0;
            }
       }

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Da fehlen mir noch ein paar Infos. Worüber wird kommuniziert? USB-Seriell Wandler oder die "integrierte" ttyAMA0? Welche Sprache wird verwendet? C, sh, bash, python? Wie wird die Schnittstelle genau initialisiert?
    Ich meinte mehr die Raspberry Seite.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    25.03.2012
    Beiträge
    15
    auf Raspberry Seite hab ich per shell nur die baud rate konfiguriert also:
    stty -F ttyAMA0 ispeed 9600 ospeed 9600
    und dann wird schon jedes geschickte zeichen zurückgeschickt.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Kopiere mal die Datei nach dem Entpacken auf den Raspi und führe diese mal aus. (Rechte 755, evtl. mit sudo vorneweg)

    Diese stellt den Port auf 9600 BAUD ein und schaltet das Echo ab.
    Dann gleich Dein Programm testen.

    Ist es danach immer noch so, dann liegt das Problem tiefer.
    Angehängte Dateien Angehängte Dateien
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. serielle schnittstelle
    Von Roboman93 im Forum Robby RP6
    Antworten: 11
    Letzter Beitrag: 15.04.2008, 18:48
  2. Serielle Schnittstelle
    Von pacer_one im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 08.01.2008, 17:33
  3. Serielle Schnittstelle
    Von suggle im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 24.01.2006, 13:34
  4. [ERLEDIGT] serielle Schnittstelle
    Von Devil Ray im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 04.10.2004, 12:26
  5. 2x ATMEGA 1x serielle Schnittstelle?
    Von boeseTURBO-CT im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 16.06.2004, 11:35

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress