UART atMega168 senden (ASM)

Gast #1232586
Lesenswert?

Hi,
hab nin kleines Problem mit Registerzugriffen in asm auf einem meg168:
1
transmit:
2
    sbis    UCSRA,UDRE          ; Warten, bis UDR bereit ist ...
3
    rjmp    transmit
4
    out     UDR, zeichen        ; und Zeichen ausgeben
5
    ret
diesen teil hab ich ausm forum für den mega8 gefunden, nur leider kann 
der mega168 nicht mit sbis bzw. out auf die register zugreifen, könnt 
ihr mir helfen?
gl herberdt
#1232632
Lesenswert?

herberdt wrote:
> nur leider kann
> der mega168 nicht mit sbis bzw. out auf die register zugreifen, könnt
> ihr mir helfen?
Man kann generell nur auf Register zugreifen, die der betreffende 
Controller auch hat. Und ein UDR bzw. UCSRA gibt es beim Mega168 nicht! 
Schau bitte ins Datenblatt, wie die Register dort heißen!

Abgesehen davon liegen die Steuerregister des USART beim Mega168 im 
extended I/O-Space und lassen sich deshalb auch nicht mit in, out, sbic 
und sbis ansprechen. Da musst Du schon lds und sts nehmen und zum 
Bit-Prüfen den Registerinhalt in ein Rechenregister laden und dort die 
Abfrage machen.

Merke: Zum Arbeiten mit einem Mikrocontroller gehört grundsätzlich 
neben den allgemeinen Fachkenntnissen das griffbereite Datenblatt! Und 
zwar völlig unabhängig davon, in welcher Programmiersprache man den 
programmieren will.

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