-
        

Ergebnis 1 bis 2 von 2

Thema: uart echo in asm

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2004
    Beiträge
    121

    uart echo in asm

    Anzeige

    .include "m16def.inc"

    .def temp = R16
    .equ CLOCK = 3686000
    .equ BAUD = 9600
    .equ UBRRVAL = CLOCK/(BAUD*16)-1



    .org 0x00
    rjmp main

    .org 0x0016
    rjmp int_rxc


    ; Hauptprogramm
    main:
    ldi temp, LOW(RAMEND)
    out SPL, temp
    ldi temp, HIGH(RAMEND)
    out SPH, temp

    ldi temp, 0xFF ; Port B = Ausgang
    out DDRB, temp
    ;

    ; Baudrate einstellen
    ldi temp, LOW(UBRRVAL)
    out UBRRL, temp
    ldi temp, HIGH(UBRRVAL)
    out UBRRH, temp

    ; Frame-Format: 8 Bit
    ldi temp, (1<<URSEL)|(3<<UCSZ0)
    out UCSRC, temp

    sbi UCSRB, RXCIE ; Interrupt bei Empfang
    sbi UCSRB, RXEN ; RX (Empfang) aktivieren
    sbi UCSRB,TXEN ; TX aktivieren
    ldi R17, 0xff
    ldi temp , 0xff

    sei ; Interrupts global aktivieren

    loop:
    cpse temp, r17
    brne loop1
    rjmp loop



    rjmp loop ; Endlosschleife

    ; Interruptroutine: wird ausgeführt sobald ein Byte über das UART empfangen wurde
    int_rxc:

    in temp, UDR
    out PORTb, temp
    reti

    back:
    sbis UCSRA,UDRE ; Warten bis UDR für das nächste
    ; Byte bereit ist
    rjmp back
    out UDR, temp
    ldi temp, 0xff
    rjmp loop ; zurück zum Hauptprogramm


    loop1: ldi r18, 'e'
    rcall serout ; Unterprogramm aufrufen
    ldi r18, 'c'
    rcall serout ; Unterprogramm aufrufen
    ldi r18, 'h'
    rcall serout ; ...
    ldi r18, 'o'
    rcall serout
    ldi r18, ' '
    rcall serout
    rjmp back

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Vielleicht solltest du das zu den "Beispiele und Codeschnipseln" geben. Oder ist damit eine Frage verbunden, die ich nur nicht erkennen kann ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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