Forum: Mikrocontroller und Digitale Elektronik Einzelnes Datum empfangen via stm32


von Marco D. (Gast)


Lesenswert?

Servus zusammen. Ich arbeite aktuell mit einem stm32 Board und sende 
diesem mittels Docklight über die Uart-Schnittstelle ein Byte. Das Byte 
wird mit der HAL_Receive(...) Funktion erkannt. Allerdings möchte ich 
jetzt noch erkennen ob etwas versendet wurde damit ich auf empfangene 
Daten reagieren kann. Ich hab allerdings keine AHnung mit welchem Befehl 
ich das auslesen kann.

Gruß Marco

von Sebastian R. (sebastian_r569)


Lesenswert?

Öhm. Wenn du was emfpängst, wurde wohl von der anderen Seite was 
versendet.

Wenn du wissen willst, ob der Controller selber etwas gesendet hat, 
wirst du dich vermutlich selber um ein Flag kümmern müssen, dass du nach 
dem Senden setzt und nach dem Abfragen wieder löscht.

von Marco D. (Gast)


Lesenswert?

Anders rum, ich will wissen ob der Controller was empfangen hat.

von pegel (Gast)


Lesenswert?

Wie wäre es mit:

HAL_UART_Receive_IT()

von pegel (Gast)


Lesenswert?

Oder auch direkt in der main.c mit HAL_UART_RxCpltCallback.

von A. B. (Gast)


Lesenswert?

Da fragt man das RXNE-Flag ab, siehe Makros __HAL_UART_GET_FLAG und
UART_FLAG_RXNE

von S------- R. (simonr)


Lesenswert?

Siehe hier:

"We can use very useful feature in UART peripheral, called IDLE line 
detection. Idle line is detected on RX line when there is no received 
byte for more than 1 byte time length. So, if we receive 10 bytes one 
after another (no delay), IDLE line is detected after 11th bytes should 
be received but is not."

https://stm32f4-discovery.net/2017/07/stm32-tutorial-efficiently-receive-uart-data-using-dma/

Ist sogar mittels DMA

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.