- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: UART mit STK500

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    23.04.2005
    Beiträge
    36
    Anzeige

    Powerstation Test
    HI
    hast Du die Massen verheiratet? Ich hab mir mal nen Wolf gesucht weil ich offensichtlichen Datenmüll hatte. Am ende war das problem das sich die Massen net kannten
    Alternativ halt noch so Sachen wie start/stopbits parity etc. checken aber ich vermute das hast Du eh schon gemacht.
    Weiterhin viel Glück.
    Tobi

  2. #12
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2004
    Beiträge
    121
    Code:
    .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
            
            sei                               ; Interrupts global aktivieren
            
    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
    probiers mal so vieleicht fuktzs ja

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2004
    Beiträge
    121
    Code:
    .include "m16def.inc"
    
    .def temp = r16
    .equ CLOCK = 3868000
    .equ BAUD = 9600
    .equ UBRRVAL = CLOCK/(BAUD*16)-1
    
            ; Stackpointer initialisieren
            ldi temp, LOW(RAMEND)
            out SPL, temp
            ldi temp, HIGH(RAMEND)
            out SPH, 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,TXEN                    ; TX aktivieren
    
    loop:   ldi temp, 'T'
            rcall serout                      ; Unterprogramm aufrufen
            ldi temp, 'e'
            rcall serout                      ; Unterprogramm aufrufen
            ldi temp, 's'
            rcall serout                      ; ...
            ldi temp, 't'
            rcall serout
            ldi temp, '!'
            rcall serout
            ldi temp, 10
            rcall serout
            ldi temp, 13
            rcall serout
            rjmp loop
    
    serout:
            sbis UCSRA,UDRE                   ; Warten bis UDR für das nächste
                                              ; Byte bereit ist
            rjmp serout
            out UDR, temp
            ret                               ; zurück zum Hauptprogramm

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    10.07.2005
    Beiträge
    8
    Hallo!

    Mal eine andere Frage: wie müssen denn die Settings beim Terminal sein ? Ich fummel mir schon seit Stunden einen Wolf...

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2004
    Beiträge
    121
    eigentlich gar nicht so schwer
    com1 normalerwiese als schnitstelle baudrate 9600 datenbits 8 parität keine flusssteuerung keine

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    10.07.2005
    Beiträge
    8
    Naja, bei mir ist es COM6, weil ich eine PCMCIA Karte mit zwei seriellen Schnittstellen habe. Aber die Einstellungen scheinen Standard zu sein, es muss also am Programm des MC liegen.

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad