/** * @brief Enables or disables the specified CAN interrupts. * @param CANx: where x can be 1 to select the CAN peripheral. * @param CAN_IT: specifies the CAN interrupt sources to be enabled or * disabled. * This parameter can be: CAN_IT_TME, CAN_IT_FMP0, CAN_IT_FF0, * CAN_IT_FOV0, CAN_IT_FMP1, CAN_IT_FF1, * CAN_IT_FOV1, CAN_IT_EWG, CAN_IT_EPV, * CAN_IT_LEC, CAN_IT_ERR, CAN_IT_WKU or * CAN_IT_SLK. * @param Newstate: new state of the CAN interrupts. * This parameter can be: ENABLE or DISABLE. * @retval : None. */ void CAN_ITConfig(CAN_TypeDef* CANx, uint32_t CAN_IT, FunctionalState Newstate) { /* Check the parameters */ assert_param(IS_CAN_ALL_PERIPH(CANx)); assert_param(IS_CAN_ITConfig(CAN_IT)); assert_param(IS_FUNCTIONAL_STATE(Newstate)); if (Newstate != DISABLE) { /* Enable the selected CAN interrupt */ CANx->IER |= CAN_IT; } else { /* Disable the selected CAN interrupt */ CANx->IER &= ~CAN_IT; } }
/** * @brief Enables or disables the specified CAN interrupts. * @param CANx: Select the CAN peripheral. * This parameter can be one of the following values: * CAN1, CAN2. * @param CAN_IT: specifies the CAN interrupt sources to be enabled or disabled. * This parameter can be: CAN_IT_GLBINTEN, CAN_IT_RXINTEN, CAN_IT_TXINTEN, * CAN_IT_ERRINTEN or CAN_IT_ERROVERINTEN. * @param NewState: new state of the CAN interrupts. * This parameter can be: ENABLE or DISABLE. * @retval None. */ void CAN_ITConfig(MDR_CAN_TypeDef* CANx, uint32_t CAN_IT, FunctionalState NewState) { /* Check the parameters */ assert_param(IS_CAN_ALL_PERIPH(CANx)); assert_param(IS_CAN_ITConfig(CAN_IT)); assert_param(IS_FUNCTIONAL_STATE(NewState)); if (NewState != DISABLE) { CANx->INT_EN |= CAN_IT; } else { CANx->INT_EN &= ~CAN_IT; } }
/******************************************************************************* * Function Name : CAN_ITConfig * Description : Enables or disables the specified CAN interrupts. * Input : - CAN_IT: specifies the CAN interrupt sources to be enabled or * disabled. * This parameter can be: CAN_IT_TME, CAN_IT_FMP0, CAN_IT_FF0, * CAN_IT_FOV0, CAN_IT_FMP1, CAN_IT_FF1, * CAN_IT_FOV1, CAN_IT_EWG, CAN_IT_EPV, * CAN_IT_LEC, CAN_IT_ERR, CAN_IT_WKU or * CAN_IT_SLK. * - NewState: new state of the CAN interrupts. * This parameter can be: ENABLE or DISABLE. * Output : None. * Return : None. *******************************************************************************/ void CAN_ITConfig(u32 CAN_IT, FunctionalState NewState) { /* Check the parameters */ assert_param(IS_CAN_ITConfig(CAN_IT)); assert_param(IS_FUNCTIONAL_STATE(NewState)); if (NewState != DISABLE) { /* Enable the selected CAN interrupt */ CAN->IER |= CAN_IT; } else { /* Disable the selected CAN interrupt */ CAN->IER &= ~CAN_IT; } }
/** * @brief Checks whether the specified CAN interrupt enable or disable. * @param CANx: Select the CAN peripheral. * This parameter can be one of the following values: * CAN1, CAN2. * @param CAN_IT: specifies the CAN interrupt sources to be enabled or disabled. * This parameter can be: CAN_IT_GLBINTEN, CAN_IT_RXINTEN, CAN_IT_TXINTEN, * CAN_IT_ERRINTEN or CAN_IT_ERROVERINTEN. * @retval The state of CAN_IT (SET or RESET). */ ITStatus CAN_GetITState(MDR_CAN_TypeDef* CANx, uint32_t CAN_IT) { ITStatus bitstatus; /* Check the parameters */ assert_param(IS_CAN_ALL_PERIPH(CANx)); assert_param(IS_CAN_ITConfig(CAN_IT)); if ((CANx->INT_EN & CAN_IT) == 0) { bitstatus = RESET; } else { bitstatus = SET; } return bitstatus; }