Rechenzeit und Serielle-Schnittstelle

Gast #16047
Lesenswert?
• ▲
▼
Hallo,

ich möchte Daten von der Seriellen Schnittstelle empfangen. Die 
Schnittstelle ist mit einer Baudrate von 19200 getaktet, der uC mit 
4MHz.

Ich möchte jetzt wissen wie viele Cycles ich zwischen zwei Interups 
machen kann.

Muß ich 4M/19200=208 rechen, oder 4M/2400=1666?

2400 müßte doch eigendlich richtig sein?
Der Interupt kommt doch Byte und nicht Bit weise, oder?
Gast #16048
Lesenswert?
• ▲
▼
Ist schon korrekt der Interrupt kommt Zeichenweise. Du  musst aber 1 
Startbit und 1-2 Stop-Bit mit berücksichtigen. Daher besser:
Fclk/Baudrate*Zeichenlänge (incl. Start- und Stopbits)
zb.
4000000/19200*(1+8+1)=2083,33 (1 Start 8 Daten 1 Stop-Bit)
Gast #16049
Lesenswert?
• ▲
▼
Hallo,

vielen Dank für die Antwort. Wenn ich das richtig verstehen, kann ich 
den uC 2000 Cyclen zwischen zwei Intrrupts arbeiten lassen.

;---- Was ich versuche -- BEGIN --
Ich versuche SMS vom Handy zulesen. Weil ich nur 256Byte SRAM habe, 
möchte ich die Daten quasi in RealTime ;-) in Hex wandeln und nur als 
Hex in den SRAM speichern. Die habe mir eine SMS in den Flash 
geschrieben, genauso wie die Daten vom Handy kommen. Und wenn ich das 
Programm im AVR Studio laufen lassen, tut es 1a. Nur in "echt" nicht. Es 
schreibt mir die TelefonNr brav in den SRAM, nur bei der PDU->Hex 
Wandlung hängt er sich auf.
;--- END

Ich habe beim Debuggen die Cyclen mitzählen lassen, und das ist dabei 
errausgekommen:

Worst Case Fall:
Interrupt
1. Durchlauf:   75 Cyclen[18,75uSek]
Interrupt
2. Durchlauf: 1200 Cylcen[300,0uSek]
Interrupt
...

Eigendlich müßte er das Packen oder habe ich noch immer einen 
Denkfehler?
Gast #16050
Lesenswert?
• ▲
▼
Hallo,

hat sich erledigt, habe mein Prog nochmal genau unter die Lupe genommen, 
und kleine Unregelmäßigkeiten beseitigt.
Und siehe da es tut soweit.

Vielen Dank

MfG

Samuel Schmidt
Gast #16052
Lesenswert?
• ▲
▼
@Dani

RE: Was genau versteht man unter einem Cycle ?

Jeder (Assembler)Befehl braucht eine bestimmte Anzahl von Cyclen.
Die Anzahl der benötigten Cyclen steht bei jedem Befehl im Instruction 
Set (zumin. bei den AVRs).
Dann gibt es noch einen Zusammenhang zwischen Hardwaretakt und Frequenz.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.