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
Gast
#1678230
Steht im Datenblatt. http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf Was du suchst steht auf Seite 169.
Ich empfehle eine Baudrate von 230400. Die funktioniert bei mir mit gleichem Quarz einwandfrei!
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
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 ...
Hi denny, Denny Weinberg schrieb: > Ich empfehle eine Baudrate von 230400. > Die funktioniert bei mir mit gleichem Quarz einwandfrei! Kannst Du mir Deine uart init posten? danke
PCs können keine 921kBd
Doch, können sie, solange nicht die Onboard-Schnittstellen verwendet werden. Die können maximal 115200, aber die werden hier ja nicht genutzt - hier ist stattdessen eine USB-RS232-Bridge im Einsatz.
Hi Rufus, kannst Du mir bitte sagen, wie soll ich mein UART einstellen. Ich kann jetzt bis 430600. Aber beim 921600 geht nicht.
sorry 460800.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.