EMwin - zaciatocnicke problemy

Jiri Foldyna jiri.f na foldynovi.cz
Středa Leden 18 00:51:28 CET 2017


Dne 17.01.2017 v 23:23 Stano napsal(a):
> To samozrejme RTOS vie. Ide o to ako zobudit EmWin z GUI_Delay() funkcie
> Co prave poslanie spravy vykona.
> Samozrejme dal by sa vygenerovat event externe kedze semafor EmWINu je
> sucastou konfiguracie ale toto je si myslim este spinavsie riesenie ako
> predosle. Preto sa pytam ci prave to WM_SendMessage() alebo
> WM_SendMessageNoPara() je to prave riesenie alebo som si nieco nevsimol
> pripadne ci na dany problem nejdem uplne zo zleho konca.
>
> S pozdravom
>      Stano

Přiznám se, že úplně nerozumím. Čítačový semafor bych použil pro čekání 
na zpracování stavu z enkodéru, semafor samotný je nastavován obsluhou 
enkodéru (většinou z přerušovací rutiny).

Do obsluhy GUI (předpokládám, že se jedná o zkratku Graphic User 
Interface, tedy o zobrazování stavů pro uživatele na nějakém 
vizualizačním prostředku) bych zpracování žádných vstupů necpal. U 
našich systémů se o správu GUI staral proces s nižší prioritou, než měly 
výkonné procesy systému, a to, že má něco zobrazit poznal podle zprávy, 
na kterou čekal. U složitějších zobrazení se o GUI dělilo více procesů, 
které měly každý svou vlastní frontu zpráv. Složitější řešení jsme 
museli použít pro obsluhu myšího kurzoru, kde vykreslování bylo řešeno v 
těsné vazbě na přerušení od pohybu myšítka a bylo silně závislé na HW 
zobrazovače. To ale nebylo předmětem Vašeho původního dotazu.

jf

> On 17. 1. 2017 22:13, Jiri Foldyna wrote:
>> Dne 17.01.2017 v 21:43 Stano napsal(a):
>>
>> Vámi uváděný FREE rtos neznám, ale pokud OS podporuje fronty zpráv pro
>> procesy a umožní adresátovi přejít do wait stavu, použil bych místo
>> pollingu wait na zprávu.
>> Pro druhý případ (enkodér) jsme používali čítačový semafor (obsluha
>> enkodéru signalizuje na příslušný semafor, proces pro zpracování stavu
>> čeká u semaforu a zpracovává počet pulsů).
>>
>> jf



Další informace o konferenci Hw-list