UART AVR-Mikrocontroller

Hallo,

ich habe 2 Laser(RS485), die mir gleichzeitig Messwerte senden(1 Messwert hat 16Bits).

Bis jetzt ich immer den Lasern einen Befehl gesendet, sodass dass sie mir Werte schicken. Da hab ich aber einen Zeitlichen Versatz.

Ich verwende dazu einen ATmega644 mit 2 UART Schnittstellen.

Ist es möglich die Daten gleichzeitig zu erfassen, wenn die beiden Laser ständig Messwerte auf meine beiden UART Schnittstellen senden oder bekomme ich da Kommunikationsprobleme während ich die Messdaten von einem UART-Register auslese(z.B. dass der Controller irgendwann nicht mehr weiß was das Startbit ist)?

Vielen Dank im Voraus

Hallo,
Wo (oder wie) krigst du eine Verzögerung?
Um Daten nicht zu verlieren, kannst du zwei bzw. eins FIFOs machen.
Gleich bei einem Interrupt werden Daten dortchin aus µC RX-Register kopiert. Das grosse von FIFO kannst du beliebig einstellen.
ich hoffe ich habe auf deine Frage geantwortet.
Grüß
Juri

Die verzögerung resultiert daraus, dass ich erst mit einem triggersignal von einem laser einen messwert angefordert habe, sobald dieser empfangen wurde habe ich den messwert vom 2. laser angefordert.

ich möchte jetzt das triggersignal(steigende flanke) zum emfpangen auf beide laser gleichzeitig senden

ein laser schickt mir 3x8 Bytes(ein messwert) hintereinander.

bekomme ich dann probleme wenn beide uart schnittstellen ein interupt auslösen, wenn ihr empfangsregister voll ist?

weil theoretisch müsste ja der interrupt von beiden schnittstellen daraufhin gleichzeitig auslösen und das funktioniert doch nicht oder?

Gruß

Hallo,
Atmega644 hat 1 USART. So habe ich in Datenblatt gefunden.

Hallo, sry ich meinte natürlich den atmega644pa-pu der hat 2 uart schnittstellen.

hallo!
Es funktioniert immer nur einen Interrupt.
UART0 RX hat Interrupt Vector 21 und UART1 RX hat 29. Das heißt wenn gleichzeitig, dann können Daten auf RX1 verloren gehen.
Gibt es die Möglichkeit ganze Kommunikation mit Oszi anschauen?
Wenn ja, dann kanns du immer noch mit #asm (nop) kleine Abstände machen.

Gruß Juri

Hallo, sry ich meinte natürlich den atmega644pa-pu der hat 2
uart schnittstellen.