Use of ISR - STM32 - Freeze

alexgamo wrote on Wednesday, June 10, 2015:

Hello,

I was already using binary semaphore in my code, I was wrong when I wrote “I want to give a mutex by ISR”, sorry.
I tried to comment the “void USB_LP_CAN1_RX0_IRQHandler(void)” handler, and I saw the same thing : the program froze when a CAN trame is received.

So I upgraded my version of FreeRTOS to v8.2.1 : same problem.

I defined configASSERT like this :

:::C
#define configASSERT( x ) if( ( x ) == pdFALSE ) { taskDISABLE_INTERRUPTS(); for( ;; ); }

When I debug, the program stops on this line, in the function xQueueGenericReceive, in the file queue.c :

:::C
configASSERT( !( ( pvBuffer == NULL ) && ( pxQueue->uxItemSize != ( UBaseType_t ) 0U ) ) );

Values are :
- pvBuffer : 0
- uxItemSize : 8

I don’t understand what happen and what I’m doing wrong.