Forum: Compiler & IDEs USART simulation AVRStudio


von Stefan Sczekalla (Gast)


Lesenswert?

Hi,

ich hab mir - dank der freundlichen Unterstützung des AVR-Tutorials
und des WIKI ein "Hello World" via Usart zum Testen geschrieben.

C-Compiler läuft durch ...

Soweit so gut, nur wenn ich das versuche im AVR-Studio zu simulieren,
dann gehen unregelmäßig ein paar Zeichen raus, danach setzt der
Simulator nicht mehr das UDRE Flag und mein Progrämmchen wartet auf
ewig auf das Freiwerden des UDR registers.

hat das schon mal jemand beobachtet oder eine Idee zu ?

Grüße,

Stefan

von Sven Bohner (Gast)


Lesenswert?

soweit sich da nix geändert hat
wird im simulator des avrstudio keine serielle kommunikation
unterstützt... d.h.:usart uart twi spi...etc kann nicht simuliert
werden...

steht au in der hilfe!

von Stefan Sczekalla (Gast)


Lesenswert?

Hallo Sven,

danke - habs befürchte - wobei merkwuerdigerweise es für zwei Zeichen
zu gehen schien - UDR gefüllt ... UDRE wird 1 - UDR nochmal gefüllt,
UDRE wird wieder 1 - und danach nix mehr ... als wie wenn der FiFo nie
geleert wuerde - die daten hätten ja wegen mir in /dev/NULL landen
könne n ...

Hast Du vieleicht Erfahrungen mit den Berechne-die-Werte-für-UBRR
Macros aus dem AVR Tutorial ? obwohl ich meiner Meinung nach die
#defines richtig vorbestzt hatte kam "Schrott" raus.

Probiert hatte ich es nach dem Beispiel aus dem AVRTutorial:

 #define F_OSC 16000000           /* Oszillator-Frequenz in Hz */
 #define UART_BAUD_RATE 19200
 #define UART_BAUD_CALC(UART_BAUD_RATE,F_OSC)
((F_OSC)/((UART_BAUD_RATE)*16)-1)

  UBRRH=(uint8_t)(UART_BAUD_CALC(UART_BAUD_RATE,F_OSC)>>8);
  UBRRL=(uint8_t)UART_BAUD_CALC(UART_BAUD_RATE,F_OSC);

Nachdem ich die Baudrate von Hand errechnet und UBRRH und UBRRL
entsprechend gesetzt hatte lief es auf anhieb.

Grüße,

Stefan

von Sven Bohner (Gast)


Lesenswert?

ich rechne sie immer von hand.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.