Synchronization of UART ISR with Multiple "State machine" task in FreeRTOS
Hello everyone,
I have to synchronize with UART's TC and IDLE interrupts with my Multiple state-machines i.e. (3 big state machine tasks, TX state machine, RX state machine and main state machine).
Currently, I have used osMessageQueuePut and osMessageQueueGet between the ISR-to-Tasks, and Tasks-to-Tasks , that will help synchronize. But the main issue is the complexity of the system making it harder to debug i.e. sometime the message queue have timeout ...
Not only that, the State Machine has more than 1 state that requires to use 2-3 messageQueues , making it really hard to keep track.
I would like to know which would be a better approach for handling this application? Using binary semaphore instead?
Thanks
