ATxmega128A1 USART Datenregister DATA lässt sich nicht beschreiben

Gast #1794232
Lesenswert?
• ▲
▼
Hallo,

ich bin gerade dabei für den ATxmega128A1 eine UART-Bibliothek zu 
schreiben, dabei habe ich allerdings ein Problem mit dem DATA-Register,
da sich dieses nicht beschreiben lässt. Ebenso kann ich kein DATA 
Register der USART's im Simulator anklicken, wie es bei anderen Register 
ja normalerweise
funktioniert um dort Bits zu setzen. Ein Test auf dem realen MC 
funktionierte ebenfalls nicht.
Als Software verwende ich bzw. habe ich ausprobiert:

AVRStudio 4.18 build 684 und 700 getestet
WINAVR vom 10.01.2010 und 13.03.2010 getestet

Die Initialisierung müsste dabei richtig sein, zumindest werden im 
Simulator 2 die richtigen Einstellungen angezeigt bei USARTE1. Kennt 
jemand zufällig eine Lösung für das Problem? Liegt es eventuell an 
AVRStudio?
1
void uart_init()
2
{
3
  //Interrupts deaktivieren
4
  cli();
5

6
  //Ein- und Ausgänge festlegen
7
  PORTE.DIR|=UART_PORT_DIRECTION;
8

9
  //Modus einstellen
10
  USARTE1.CTRLC=UART_CTRLC_ASYNCMODE|UART_CTRLC_NOPARITY|UART_CTRLC_1STOPBIT|UART_CTRLC_8BIT;
11

12
  //Baudrate einstellen
13
  USARTE1.BAUDCTRLA=UART_BSEL_19200BAUDL;
14
  USARTE1.BAUDCTRLB=UART_BSEL_19200BAUDH;
15

16
  //Interrupts aktivieren
17
  USARTE1.CTRLA=UART_CTRLA_RX_HIGHINTLEVEL|UART_CTRLA_TX_HIGHINTLEVEL;
18

19
  //Uart aktivieren
20
  USARTE1.CTRLB=UART_CTRLB_RX_ENABLE|UART_CTRLB_TX_ENABLE;
21

22
  //interrupts wieder freigeben
23
  sei();
24
}
25

26
void uart_send_singlebyte(u08 byte)
27
{
28
  //schauen, ob Sendebuffer bereit ist
29
  if ((USARTE1.STATUS&UART_STATUS_TRANSMITBUFFEREMPTY)!=0)
30
  {
31
    USARTE1.DATA=byte;
32
  }
33
}

Gruß,
Alex

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