Problem mit Soft UART

OP #2375258
Lesenswert?

Hallo,

ich versuche gerade Software UART auf einem Atmega 32 zum laufen zu 
bekommen.
Ich verwende den Code zur Appnote 305 von Atmel.
Dann rufe ich das ganze so auf:
1
loop:
2
ldi  Txbyte,01  ;Clear terminal
3
    rcall  putchar
4
ldi  Txbyte,0xAA  ;Clear terminal
5
          rcall  putchar
6
ldi  Txbyte,'T'  ;Clear terminal
7
    rcall  putchar
8
ldi  Txbyte,'E'  ;Clear terminal
9
    rcall  putchar
10
ldi  Txbyte,'S'  ;Clear terminal
11
    rcall  putchar
12
ldi  Txbyte,'T'  ;Clear terminal
13
    rcall  putchar
14
; ============================= 
15
;   Warteschleifen-Generator 
16
;     8000000 Zyklen:
17
; ----------------------------- 
18
; warte 7999992 Zyklen:
19
          ldi  R17, $48
20
WGLOOP000:  ldi  R18, $BC
21
WGLOOP100:  ldi  R19, $C4
22
WGLOOP200:  dec  R19
23
          brne WGLOOP200
24
          dec  R18
25
          brne WGLOOP100
26
          dec  R17
27
          brne WGLOOP000
28
; ----------------------------- 
29
; warte 6 Zyklen:
30
          ldi  R17, $02
31
WGLOOP300:  dec  R17
32
          brne WGLOOP300
33
; ----------------------------- 
34
; warte 2 Zyklen:
35
          nop
36
          nop
37
; ============================= 
38
rjmp loop

Ich habe den b Wert des UART Codes auf 66 gestellt. Laut Appnote passt 
das für 4 MHz und Baud 9600.

Allerdings wird so nur 6 mal Test gesendet. Jedoch sollte doch immer 
weiter gesendet werden, oder? Wo liegt denn der Fehler?

Gruß Michael

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