- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: txt über USART senden

Baum-Darstellung

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

    txt über USART senden

    hallo,
    ich sende eine Txt Code über USART, das Problem es liest nur 3 Zahlen dann hört er auf. wie kann man das machen.hier ist der 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;
    }
     
    uint8_t uart_getc(void)
    {
    while (!(UCSR0A & (1<<RXC0))) 
    ;
    return UDR0; 
    }
     
    void uart_gets( char* Buffer, uint8_t MaxLen )
    {
    uint8_t NextChar;
    uint8_t StringLen = 0;
     
    NextChar = uart_getc(); 
     
     
    while (1) 
        {
    while( NextChar != ',' && StringLen < MaxLen - 1 ) 
            {
        UDR0=NextChar+1;
        PORTB=NextChar;
        *Buffer++ = NextChar;
    StringLen++;
    NextChar = uart_getc();
         }
        }
     
    *Buffer = '\0';
    }
     
    int main(void)
    {
        DDRB=0xFF;
    char Line[40]; // String mit maximal 39 zeichen
     
         uint8_t c;
         uart_init();
     
         uart_gets( Line, sizeof( Line ) );
     
    while (1) 
    {
     
    }
     
    return 0; // never reached 
    }
    #endif // UART_H
    Geändert von PicNick (23.03.2011 um 13:09 Uhr)

Berechtigungen

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

Labornetzteil AliExpress