Atmega16 USB2.0TORS232

OP #1678212
Lesenswert?

Hi,

ich arbeite momentan mit einem Atmega16 (14.7456MHz). Ich benutze auch 
ein USB2.0TORS232 um die Daten zu uebertrage. Ich habe meine Baudrate 
auf 921600 eingestellt, mein Hyperterminal auf 921600 und unter Device 
Manager habe ich auch mein COMPORT auf 921600. leider kann ich kein 
Daten uerbertragen. Es passiert nix. Wenn ich die Baudrate auf 115200 
umstelle, dann funktioniert.


Hat jemand eine Idee. Ich habe oefter gehoert, es soll locker funken.

Danke
OP #1678418
Lesenswert?

hi  danke,

laut DB (S 170) heisst das, mit einer Frequenz von 14.7456MHz u. einer 
BR von 921.6K muss funktionieren, aber warum bekomme ich keine Daten?

So sieht meine init aus:
#define F_CPU 14745600UL
#define UART_UBRR_CALC(BAUD_,FREQ_) ((FREQ_)/((BAUD_)*16UL)-1)
#define UART_BAUD_RATE     230400UL
.
.
.
void uart_init(uint8_t tx, uint8_t rx)
{
    uint16_t baudrate;
    baudrate = UART_BAUD_RATE/2;
    UBRRH    = (uint8_t) (UART_UBRR_CALC(baudrate,F_CPU)>>8);
    UBRRL    = (uint8_t) UART_UBRR_CALC(baudrate,F_CPU);
    UCSRA |= (1<<U2X);
    //UCSRB |= (1<<RXCIE);

    UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0);
    if(tx) UCSRB |= (1<<TXEN);
    if(rx) UCSRB |= (1<<RXEN);
}
Gast #1678435
Lesenswert?

Hallo,

> laut DB (S 170) heisst das, mit einer Frequenz von 14.7456MHz u. einer BR
> von 921.6K muss funktionieren, aber warum bekomme ich keine Daten?

Ist ja schön, wenn der Controller das kann; aber du solltest dir mal die 
Datenblätter der RS232-Treiber ansehen, die können diese Speed meist 
nicht ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren