Forum: Mikrocontroller und Digitale Elektronik UART bei ATtiny2313


von Jiri (Gast)


Lesenswert?

Schönen guten Abend.
Ich brauche Hilfe mit RS232  kommunikation zwischen 2 microcontroller 
AVR. Ich habe kein Problem aus ATmega2560 nach ATmega2560, oder aus 
ATmega8 nach ATmega2560. Aber Transmit mit ATtiny2313 funktioniert 
nicht.
Mein main programm

init:    ldi    acc,low(RAMEND)
    out    spl,acc

    rcall  USART_init

start:  ldi    bcc, 0xaa
    rcall  USART_Transmit
    rjmp   start

Und Unterprogramm

USART_init:  eor  acc, acc
    out   UBRRH, acc
    ldi   acc,51      ; Baut rate 4800/4 MHz
    out   UBRRL, acc

    ldi   acc, (1<<TXEN)
    out   UCSRB,acc

    ldi   acc, (3<<UCSZ0)    ; 8 data bit,1 stop bit
    out  UCSRC,acc
    ret


USART_Transmit:
    lds  acc,UCSRA
    sbrs   acc,UDRE
    rjmp   USART_Transmit
    out   UDR,bcc
    ret

Sie raten, was ist bei ATtiny2313 anders.

von Klaus2m5 (Gast)


Lesenswert?

USART_Transmit:
    ; lds  acc,UCSRA   !!!!! beim 2313 im I/O space (bei lds +0x20)
    ; sbrs   acc,UDRE
    sbis   UCSRA,UDRE   ;kann beim 2313 direkt abgefragt werden
    rjmp   USART_Transmit
    out   UDR,bcc
    ret

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.