we need a queue in ISR , so we use osPoolAlloc and osPoolFree ,both taking a lot of time, which is not allowed in ISR. Can someone give us some advice ?
is there other functions except osMessagePut and osPoolAlloc? or do I have to define a queue myself?
the real problem is that, sometimes 'osMessagePut' called from an ISR can put messages into the queue more than I have defined .
1, Is the message queue mantained by the system periodically? if so, consuming too much time in ISR results in the queue corrupted.
2, Do I need to disable IRQ when call 'osMessageGet' from thread?
thanks a lot.