I have a call in my task:
uxBits = xEventGroupWaitBits(
xCalibrationGroup, //The event group being tested.
CALIBRATE_4_20 | CALIBRATE_MCHAN |
CALIBRATE_5VDC | CALIBRATE_10VDC | CALIBRATE_BDTEMP | CALIBRATE_RTD, //The bits within the event group to wait for
pdFALSE, //bits are cleared after the module has been run
pdFALSE, //any bit will cause the task to run
xTicksToWait ); //Wait forever
When I start the scheduler, the task executes, but no bits are set. uxBits == 0x0. So I am not clear on the function of the event group, I thought it would allow for the task to process only when one of the flags was set.
With the parameters set as shown, the task calling that code should remain in the Blocked state for a maximum of xTicksToWait for any one of the CALIBRATE420, CALIBRATEMCHAN, CALIBRATE5VDC, CALIBRATE10VDC, CALIBRATEBDTEMP, CALIBRATE_RTD bits to be set (assuming those constants are defined to single bit values).
Has the event group been created before you used it?
How do you know uxBits is 0?
What is xTicksToWait set to?
I had xTicksToWait set to 0, but I changed this to portMAX_DELAY and now it is working...thanks!