Добавлена проверка на успешную инициализацию Register Callback для CAN и TIM.
This commit is contained in:
@@ -59,15 +59,15 @@ void PROTOCAN_DEINIT(uint8_t stage)
|
||||
*/
|
||||
PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_HandleTypeDef *tmp_hrtc, TIM_HandleTypeDef *tmp_tim)
|
||||
{
|
||||
//HAL_CAN_Start(_HCAN);
|
||||
//HAL_CAN_ActivateNotification(_HCAN, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE);
|
||||
//MX_TIM4_Init();
|
||||
//MX_RTC_Init();
|
||||
unsigned initStage = 0;
|
||||
if(tmp_hcan) {
|
||||
_HCAN = tmp_hcan;
|
||||
#if (USE_HAL_CAN_REGISTER_CALLBACKS == 1)
|
||||
HAL_CAN_RegisterCallback(_HCAN, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID, ProtoCanRxFifo0MsgPendingCallback);
|
||||
HAL_StatusTypeDef CAN_RC_RESULT = HAL_CAN_RegisterCallback(_HCAN, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID, ProtoCanRxFifo0MsgPendingCallback);
|
||||
if(CAN_RC_RESULT != HAL_OK) {
|
||||
PROTOCAN_DEINIT(initStage);
|
||||
return PROTOCAN_HRTC_ERROR;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
PROTOCAN_DEINIT(initStage);
|
||||
@@ -84,7 +84,11 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_Handl
|
||||
if(tmp_tim) {
|
||||
_HTIM = tmp_tim;
|
||||
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
||||
HAL_TIM_RegisterCallback(_HTIM, HAL_TIM_PERIOD_ELAPSED_CB_ID, ProtoCanPulseCallback);
|
||||
HAL_StatusTypeDef TIM_RC_RESULT = HAL_TIM_RegisterCallback(_HTIM, HAL_TIM_PERIOD_ELAPSED_CB_ID, ProtoCanPulseCallback);
|
||||
if(TIM_RC_RESULT != HAL_OK) {
|
||||
PROTOCAN_DEINIT(initStage);
|
||||
return PROTOCAN_HRTC_ERROR;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
PROTOCAN_DEINIT(initStage);
|
||||
|
||||
Reference in New Issue
Block a user