Start
This commit is contained in:
+5
-8
@@ -49,19 +49,11 @@ void CAN_Logger_Init(CAN_HandleTypeDef *hcan1, CAN_HandleTypeDef *hcan2)
|
||||
filter.FilterActivation = ENABLE;
|
||||
filter.SlaveStartFilterBank = 14;
|
||||
|
||||
HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 6, 0);
|
||||
HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
|
||||
|
||||
HAL_NVIC_SetPriority(CAN2_RX0_IRQn, 6, 0);
|
||||
HAL_NVIC_EnableIRQ(CAN2_RX0_IRQn);
|
||||
|
||||
filter.FilterBank = 0;
|
||||
if (HAL_CAN_ConfigFilter(hcan1, &filter) != HAL_OK) Error_Handler();
|
||||
if (HAL_CAN_Start(hcan1) != HAL_OK) Error_Handler();
|
||||
|
||||
filter.FilterBank = 14;
|
||||
if (HAL_CAN_ConfigFilter(hcan2, &filter) != HAL_OK) Error_Handler();
|
||||
if (HAL_CAN_Start(hcan2) != HAL_OK) Error_Handler();
|
||||
}
|
||||
/* END CAN_Logger_Init */
|
||||
|
||||
@@ -120,8 +112,13 @@ void vCANListener(void *argument)
|
||||
osMessageQueueId_t queue = (hcan->Instance == CAN1) ? xCAN1RxQueue : xCAN2RxQueue;
|
||||
CanMessage_t message;
|
||||
|
||||
if (HAL_CAN_Start(hcan) != HAL_OK) Error_Handler();
|
||||
HAL_CAN_ActivateNotification(hcan, CAN_IT_RX_FIFO0_MSG_PENDING);
|
||||
|
||||
uint32_t irqn = (hcan->Instance == CAN1) ? CAN1_RX0_IRQn : CAN2_RX0_IRQn;
|
||||
HAL_NVIC_SetPriority(irqn, 6, 0);
|
||||
HAL_NVIC_EnableIRQ(irqn);
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if (osMessageQueueGet(queue, &message, NULL, osWaitForever) == osOK)
|
||||
|
||||
Reference in New Issue
Block a user