Hallo iedereen,
Ik ben bezig met een industriele applicatie. In het kort komt het erop neer dat ik een joystick met uitlezen en de waardes van de joystick versturen via de canbus.
Nu heb ik in de c++ code een klasse gemaakt voor de joystick.
In deze klasse heb ik een functie 'update'. Hierin worden de analoge voltages opgevraagd en deze worden na omrekening in een variabele gestopt (bv x-as)
Ik ben van plan deze functie in een 'high priority' thread uit te voeren. Deze thread moet dan elke 1/100 seconde uitgevoerd worden.
Ook heb ik in de klasse joystick een functie 'get_x', deze returnt de x waarde van de joystick.
Deze functie kan in principe altijd opgevraagd worden.
Nu is mijn vraag:
Kan er een conflict onstaan wanneer tegelijkertijd in de thread de x-as waarde geschreven wordt en de x-as waarde bijvoorbeeld in de main (of andere functie) opgevraagd wordt.
en zoja, Hoe kan ik dit voorkomen ?
Ik heb al het een en ander gelezen over threads bij een win32 systeem.
Zover ik nu weet heb ik de volgende opties:
Event Objects
Mutex Objects
Critical Section Objects
Semaphores
Iemand hier ervaring mee? of een goede link met uitleg?
Ik ben bezig met een industriele applicatie. In het kort komt het erop neer dat ik een joystick met uitlezen en de waardes van de joystick versturen via de canbus.
Nu heb ik in de c++ code een klasse gemaakt voor de joystick.
In deze klasse heb ik een functie 'update'. Hierin worden de analoge voltages opgevraagd en deze worden na omrekening in een variabele gestopt (bv x-as)
Ik ben van plan deze functie in een 'high priority' thread uit te voeren. Deze thread moet dan elke 1/100 seconde uitgevoerd worden.
Ook heb ik in de klasse joystick een functie 'get_x', deze returnt de x waarde van de joystick.
Deze functie kan in principe altijd opgevraagd worden.
Nu is mijn vraag:
Kan er een conflict onstaan wanneer tegelijkertijd in de thread de x-as waarde geschreven wordt en de x-as waarde bijvoorbeeld in de main (of andere functie) opgevraagd wordt.
en zoja, Hoe kan ik dit voorkomen ?
Ik heb al het een en ander gelezen over threads bij een win32 systeem.
Zover ik nu weet heb ik de volgende opties:
Event Objects
Mutex Objects
Critical Section Objects
Semaphores
Iemand hier ervaring mee? of een goede link met uitleg?