- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Typisches "Aber gestern gings doch noch" (UART)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2007
    Ort
    Ingolstadt
    Beiträge
    112

    Typisches "Aber gestern gings doch noch" (UART)

    Hallo Zusammen,

    nachdem nun meine Funktionsaufrüfe klappen (Danke an dieser Stelle nochmal) hat alles wunderbar geklappt, sogar das UART.

    Dann hab ich ein paar Funktionen geschrieben usw. Als ich dann den UART inniger Teste wollte musst ich ärgerlicherweise feststellen, das am HTerm nur noch Müll ankommt.
    "Also wieder zum Anfang..." dachte ich mir und habs auf die minimal Funktionen (init, senden) beschränkt womit es schon funktioniert hatte.

    Auch hiermit kam nur Datenmüll an (siehe Anhang) vielleicht könnt Ihr mir hier helfen? Ich hab die Funktionen aus dem Datenblatt genohmen und angepasst.

    Randdaten
    * µC ist eine ATMega128L
    * Als Clock wird der interne 8MHz Gernerator verwendet
    * Die Übertragung läuft über ein FT232R (somit USB)

    Code:
    #include <avr/io.h>
    
    #define F_CPU 8000000UL
    //Defines für Einstellungen
    #define UART0_BAUD        9600
    #define UART0_MYUBRR    F_CPU/16/UART0_BAUD-1
    
    #include <util/delay.h>
    
    /*****************************************************************
     * Funktionsname:    phy_uart0_Init
     *
     * BAUDRATE        = 9600 BAUD
     * Empfänger    = Aktiviert
     * Sender        = Aktiviert
     * Rahmengröße    = 8 Bit
     * StopBit        = 1 StopBit
     * 
     *****************************************************************/
    void phy_uart0_Init(void)
    {
        /* Baudrate festlegen */
        UBRR0H = (unsigned char) (UART0_MYUBRR >> 8);
        UBRR0L = (unsigned char) UART0_MYUBRR;
        
        /* Receiver und Transmitter aktivieren*/
        UCSR0B = (1 << RXEN) | (1 << TXEN);
        
        /* Rahmenformat einstellen: 8 Bit, 1stop bit */
        UCSR0C = (3 << UCSZ0) | (1 << USBS0);
    }
    
    
    /*****************************************************************
     * Funktionsname:    phy_uart0_Transmit
     *****************************************************************/
    void phy_uart0_Transmit(unsigned char data)
    {
        /* Warte auf Leeren Sende Buffer*/
        while ( !( UCSR0A & (1<<UDRE)) )
            ;    
            
        /* Put data into buffer, sends the data */
        UDR0 = data;
    }
    
    /*****************************************************************
     * Funktionsname:    Main
     *****************************************************************/
    int main(void)
    {
        phy_uart0_Init();
        
        while(1)
        {
            phy_uart0_Transmit('H');
    
            _delay_ms(500);
        }
    }
    Grüße

    Furay
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken HTerm.jpg  
    Sehe das leben nicht so ernst - du kommst sowieso nicht lebend davon.

Ähnliche Themen

  1. ATMega8 "verfused" Kann man den noch retten
    Von Bumbum im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 19.03.2013, 20:02
  2. ATMega8 "verfused" Kann man den noch retten
    Von Bumbum im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 19.03.2013, 20:02
  3. Thema verschwunden? Oder doch "nur" Zensur?
    Von Thomas E. im Forum Anregungen/Kritik/Fragen zum Forum und zum Wiki RN-Wissen
    Antworten: 5
    Letzter Beitrag: 30.01.2012, 17:26
  4. UART vs SPI kann UART auch "echt" bidirektional üb
    Von Ceos im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 03.09.2009, 17:03
  5. Gestern "zukunftsweisende Technik auf Kabel 1"
    Von Andy123 im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 17.04.2007, 21:15

Stichworte

Berechtigungen

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

12V Akku bauen