Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 4 Antworten
und wurde 581 mal aufgerufen
 Probleme
ekonkts Offline



Beiträge: 121

06.04.2013 18:14
Atmel Mega16 Uart Zitat · Antworten

Hallo zusammen,

ich habe mal eine Frage zur Atmel UART. Ich hoffe, die hat schon mal jemand benutzt :o)

Ich bekomme per Uart mehrere Bytes hintereinander. Nun habe ich das Problem, dass ich nicht weiß, wann das erste Byte übertragen wird.
Weiß jemand, wie ich das herausfinden kann?
Bzw. kommt ein Interrupt nur beim ersten Byte oder bei jedem Byte?

Viele Grüße

Stephan

---
Kaum macht man's richtig, funktioniert's !

http://www.stephanknoke.de

hendrik.s Offline




Beiträge: 697

06.04.2013 18:55
#2 RE: Atmel Mega16 Uart Zitat · Antworten

Hi Stephan,

also, so weit ich weiß, kommt bei jedem Byte ein Interrupt.

Wenn ich nämlich eine Zahl größer als 0xFF vom PC aus sende, wird das ganze ja auch in zwei Bytes aufgespaltet. Getrennt ist das erste Byte vom darauf folgenden ja durch ein Stoppbit am Ende. Dies kannst Du ja in der Konfiguration einstellen.


Viele Grüße

Hendrik

ekonkts Offline



Beiträge: 121

07.04.2013 00:48
#3 RE: Atmel Mega16 Uart Zitat · Antworten

Hallo Hendrik,

ja,so war mein Verständnis auch. Für jedes Byte bekomme ich einen Interrupt. Nun werden bei mir 16Byte gesendet und dann eine Pause gemacht.
Ich kann die 16Byte auch empfangen und in einen Ringpuffer schreiben. Ich bekomme alledings nicht heraus, welches Byte ursprünglich das erste Byte nach der Pause in der Datenübertragung war.

Oder muss ich das RS232 Signal jetzt noch einmal zusätzlich abtasten und nach der Pause suchen?

Viele Grüße

Stephan

---
Kaum macht man's richtig, funktioniert's !

http://www.stephanknoke.de

hendrik.s Offline




Beiträge: 697

07.04.2013 13:15
#4 RE: Atmel Mega16 Uart Zitat · Antworten

Hi Stephan,

also abtasten musst Du das Signal denke ich nicht. Weist Du denn, was zuerst gesendet wird von den 16Byte? Highbyte oder Lowbyte? Und, werden die 16Byte sofort hintereinander gesendet?

Dann könnte man das, wie Du schon sagst, einfach in einen Puffer schreiben. Ansonsten muss da ja irgendwie in dem Byte eine Erkennung für High- oder Lowbyte herein.

Viele Grüße

Hendrik

Scotch Offline




Beiträge: 415

20.05.2013 20:39
#5 RE: Atmel Mega16 Uart Zitat · Antworten

Hallo Stephan,
kannst Du nicht ein Startsignal übertragen, z.B. 0000 und erst wenn diese erkannt wird,
den Rest einlesen?
Gruß Ingo

------------------------------------------

Meine Webseite

 Sprung  

Xobor Forum Software von Xobor
Einfach ein eigenes Forum erstellen
Datenschutz