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.