-
        

Ergebnis 1 bis 2 von 2

Thema: RS232 Interrupt mit einem Tiny2313

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    06.12.2005
    Ort
    Hamburg
    Alter
    28
    Beiträge
    86

    RS232 Interrupt mit einem Tiny2313

    Anzeige

    Also ich würde gerne einen RS232 Empfangs Interrupt programmieren und ich habe das so versucht leider geht das so nicht hat vieleicht jemand ne Idee?

    Code:
    .include "tn2313def.inc"
     
    .def temp = r16
    .equ CLOCK = 8000000
    .equ BAUD = 9600
    .equ UBRRVAL = CLOCK/(BAUD*16)-1
    
    .org 0x00
            rjmp main
    .org 0x0007 rjmp USART0_RXC
    main:
    
            ldi temp, LOW(RAMEND)
            out SPL, temp
     
            ldi temp, LOW(UBRRVAL)
            out UBRRL, temp
            ldi temp, HIGH(UBRRVAL)
            out UBRRH, temp
            sbi UCSRB, RXEN  
    sbi UCSRB,TXEN
    ldi temp, (1<<USBS)|(3<<UCSZ0)
    out UCSRC,temp
    sei
    
    loop:   
            rjmp loop
     
    serout:
            sbis UCSRA,UDRE                  
            rjmp serout
            out UDR, temp
            ret 
    
    USART0_RXC:
    ldi temp, '1'
     rcall serout                    
    ldi temp, '2'
      rcall serout
    sei                     
    	reti

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Weiss zwar nicht, ob das noch aktuell ist, aber man muss im IO-Reg UCSRB das bit RXCIE setzen. Erst dadurch wird beim Empfangen eines Bytes über den UART ein IRQ ausgelöst.

    MfG Mark

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •