Forum: Mikrocontroller und Digitale Elektronik USART Geschwindigkeit


von Julian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Forum

Ich habe ein Programm, welches einen Wert über USART einliest und diesen 
gleich wieder versendet. Dabei ist die Zeit zwischen Einlesen und dem 
Versenden ~15ms. Ich verwende einen 24Mhz Quarz.

Liegt es an der Hardware, dass diese Zeit so lange ist, da ich einen 
kleinen Code habe?

Rore Wellenform= Empfangene Daten
Blaue Wellenform= Gesendete Daten
1
.EQU UBRR_REGISTER          =18
2
.DEF  TEMP=R17
3
4
SBI    DDRD,1
5
SBI    DDRD,2
6
SBI    PORTD,2
7
8
LDI    TEMP,  0B00000000
9
OUT    UCSRA,  TEMP
10
11
LDI    TEMP,  0B00011000
12
OUT    UCSRB,  TEMP
13
14
LDI    TEMP,  0B00000110
15
OUT    UCSRC,  TEMP
16
17
LDI    TEMP,  HIGH (UBRR_REGISTER)
18
OUT    UBRRH,  TEMP
19
LDI    TEMP,  LOW (UBRR_REGISTER)
20
OUT    UBRRL,  TEMP
21
22
START:
23
CBI    PORTD,2
24
SBI    PORTD,2
25
26
USART_RECEIVE:
27
SBIS  UCSRA, RXC
28
  RJMP USART_RECEIVE
29
IN  R16, UDR
30
CLR  UDR
31
32
USART_TRANSMIT:
33
SBIS  UCSRA, UDRE
34
  RJMP USART_TRANSMIT
35
OUT UDR, R16
36
37
RJMP START

Grüsse
Julian

von Spess53 (Gast)


Lesenswert?

Hi

>Ich habe ein Programm, welches einen Wert über USART einliest und diesen
>gleich wieder versendet.

Ich glaube nicht, das du dieses Programm benutzt.

MfG Spess

von c-hater (Gast)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Ich habe ein Programm, welches einen Wert über USART einliest und diesen
>>gleich wieder versendet.
>
> Ich glaube nicht, das du dieses Programm benutzt.

Ich auch nicht wirklich. Zumindest 'CLR UDR' dürfte bei allen 
verbreiteten Assemblern für AVR zu einem Fehler führen.

Da weiß wohl wieder mal jemand nicht wirklich, was er da eigentlich tut.

von Wusel D. (stefanfrings_de)


Lesenswert?

Teile uns bitte auch mit, wie Du das Timing gemessen hast. Denn oft ist 
das Meßergebnis falsch, weil man falsch gemessen hat bzw. Einflüsse auf 
die Messung nicht herausgerechnet hat.

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.