Forum: Mikrocontroller und Digitale Elektronik STM32 Speicherbereich überwachen?


von Easy (Gast)


Lesenswert?

Hi,

ich würde gerne anstatt eines dauer laufenden Threads für die 
Bildschirmausgabe eine Art "Memory Watchdog" haben.
Ich habe ein Grafikdisplay, welches von einem Thread in FreeRTOS bedient 
wird. Es gibt eine Text-Konsole, welche mit 8x14 Font 40x17 zeichen 
ergibt. Ich hätte nun gerne 680 bytes am liebsten so überwacht, dass ein 
Interrupt ausgelöst wird, sobald eines dieser Bytes verändert wurde. Die 
ISR setzt ein Flag, dass der Bildschirm geschrieben werden kann und der 
Thread wird aufgeweckt.

CPU ist STM32F103VC.

Ist sowas möglich? Wenn ja, wie?

Gruss und schonmal Danke fürs Lesen.

von W.S. (Gast)


Lesenswert?

Easy schrieb:
> ich würde gerne..

Falsche Herangehensweise.

Warum arbeitest du nicht mit Events? Jedes Mal, wenn ein anderer Thread 
irgendwas auf den Bildschirm kritzeln will, sollte er stattdessen einen 
entsprechende Event in die Queue werfen, den du dann - zusätzlich zu der 
zentralisierten Ausgabe des Textes - an beliebig vielen anderen Stellen 
für deine Zwecke auswerten kannst.

W.S.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

In dem die Routinen, die was in den Bildschirm-Buffer schreiben ein 
Event oder ein Signal setzen, der Thread der Bildschirmausgabe wartet 
dann ein WaitForEvent oder WaitForSignal ab und springt dann an sobald 
der andere Thread was geschrieben hat.

Schau in der Doku von FreeRTOS nach was am Besten für Dich ist.

von Doctor Snuggles (Gast)


Lesenswert?

Events oder Signals sind für seinen Zweck doch überdimensioniert.

Ein taskNotify ist dafür genau richtig und schön schlank.

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.