- LiTime Speicher und Akkus         
Ergebnis 1 bis 7 von 7

Thema: usart mit Interrupt

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.03.2011
    Beiträge
    51

    usart mit Interrupt

    hallo leute, ich bin eine Anfängerin in Mikrocontroller, und möchte gern eine Beispiel zum Laufen bringen, aber es geht irgendwie nicht, soll man vielleicht an dem Unterprogramm avr/interrupt.h was einstellen oder mache ich das falsch.
    Bitte um Hilfe.
    danke
    hier ist meine Code
    Code:
    #include <avr/io.h>
    #include <stdlib.h>
    #include <stdint.h>
    #include <avr/interrupt.h>
    #include <util/delay.h>
     
    // Berechnungen
    #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // clever runden
    #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) // Reale Baudrate
    #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD) // Fehler in Promille, 1000 = kein Fehler.
    #ifndef UART_H
    #define UART_H
     
    #define F_CPU 3686400UL
     
    #define BAUD 9600UL
     
    void uart_init(void)
    {
    UCSR0B |= (1<<TXEN0) |(1<<RXEN0)|(RXCIE0<<1); // UART TX einschalten
    UCSR0C |= (1<<UMSEL01)|(1 << UCSZ01)|(1 << UCSZ00); // Asynchron 8N1
     
    UBRR0H = UBRR_VAL >> 8;
    UBRR0L = UBRR_VAL & 0xFF;
    }
     
     
     
    ISR(USART_RX_vect)
     
    {
    uint8_t receiv;
    while (!(UCSR0A & (1<<RXC0)))
    receiv = UDR0;
    UDR0=receiv;
    PORTB = receiv;
     
    }
     
     
    int main(void)
    {
    DDRB=0xFF;
    char Line[40]; // String mit maximal 39 zeichen
     
    uint8_t c;
    uart_init();
     
    sei();
     
     
    while (1) 
    {
     
    */
    }
     
    return 0; // never reached 
    }
    #endif // UART_H

    danke
    Geändert von PicNick (23.03.2011 um 14:23 Uhr)

Berechtigungen

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

LiTime Speicher und Akkus