"Запускатор" прерывания на передачу:
Код
uint8_t CAN1_Put( CanTxMsg* TxMess )
{
   uint8_t xReturn;
   if( xQueueSend( CAN1_TX_xQueue, &TxMess, 10 ) == pdPASS )
      {
         xReturn = pdPASS;
         CAN_ITConfig(CAN1, CAN_IT_TME,  ENABLE);
      }
   else
      {
         xReturn = pdFAIL;
      }

   return xReturn;
}

Обработчик прерывания на передачу:
Код
void CAN1_TX_IRQHandler (void)
{
   portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;

   if (CAN_GetITStatus(CAN1,CAN_IT_TME)==SET)
      {
         CAN_ClearITPendingBit(CAN1,CAN_IT_TME);
         if( xQueueReceiveFromISR( CAN1_TX_xQueue, &TxMessage, &xHigherPriorityTaskWoken ) == pdTRUE )
            {
               CAN_Transmit(CAN1, &TxMessage);
            }
         else
            {
               CAN_ITConfig(CAN1, CAN_IT_TME,  DISABLE);
            }
      }
   portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
}

Собственно, вопрос, что я делаю не так? НЕ заходит в обработчик прерывания по передаче.
UPD. Физика КАНа работоспособная, на шине два устройства, если без прерыаний, то сообщения отправляются и получатель получает (прерывание на приём срабатывает).