UART AT128 asm

#5708319
Lesenswert?

Hallo,

ich versuche seit geraumer Zeit eine UART Kommunikation mit einem AT128 
herzustellen. Leider ohne Erfolg. Um Fehler auszuschließen betreibe ich 
parallel einen AT16 völlig ohne Probleme. Ich teste mit einem simplen 
Code, der gleich ist für beide ATs, nur eben die Befehle entsprechend 
angepasst.

Klar ist, daß beim AT128 MISO und MOSI auf den Ports von RX und TX 
liegen. Wenn ich mit SPI programmiere empfange ich daher auch wirre 
Signale auf dem UART. Normale Signale kann ich aber nicht übertragen. 
Hat das etwas mit SPIEN zu tun, oder gibt es eine andere Erklärung?
Gast #5708416
Lesenswert?

Hi

>YKlar ist, daß beim AT128 MISO und MOSI auf den Ports von RX und TX
>liegen.

Dann benutze doch einfach UASRT1.

>Das ist jetzt aber nicht wieder dieser "ATmega103 compatibility mode",
>oder?

Ja, ist er.

MfG Spess
#5708491
Lesenswert?

> Dann benutze doch einfach UASRT1.

Das war natürlich ein logischer Tip, auf den ich auch selbst hätte 
kommen können. Das Problem ist nur, daß ich mit einer fertigen Platine 
arbeite, bei der nur RXD0 und TXD0 rausgezogen sind. Allerdings habe ich 
inzwischen mit einer Testschaltung einen zweiten ATmega getestet und 
leider auch mit USART1 keine Kommunikation. Damit ist aber zumindest 
ausgeschlossen, daß es mit SPIEN zusammenhängt.

> Wie sieht der aus?

anliegend der Code.
Angehängte Dateien:
#5708593
Lesenswert?

> All die sts und lds bei USART0 sind doch auch falsch, ausgenommen
> UCSR0C

Das war der richtige Hinweis. Das kommt davon, wenn man sich die 
Unterlagen nicht mehr richtig anschaut.
Ich habe mir die Liste nochmals angesehen und festgestellt, daß auch für 
UBRR0H das sts stimmt. Da das der erste Eintrag ist, habe ich vermutlich 
gar nicht mehr weiter gesehen und alles auf sts gesetzt. Der Debugger 
schluckt das ja ohne zu meckern.

Herzlichen Dank!

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