STM32F0xx Standard Peripherals Firmware Library: stm32f0xx_it.c Source File

STM32F0xx Standard Peripherals Library

STM32F0xx_StdPeriph_Examples/CAN/CAN_LoopBack/stm32f0xx_it.c
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    CAN/CAN_LoopBack/stm32f0xx_it.c 
00004   * @author  MCD Application Team
00005   * @version V1.4.0
00006   * @date    24-July-2014
00007   * @brief   Main Interrupt Service Routines.
00008   *          This file provides template for all exceptions handler and 
00009   *          peripherals interrupt service routine.
00010   ******************************************************************************
00011   * @attention
00012   *
00013   * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
00014   *
00015   * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
00016   * You may not use this file except in compliance with the License.
00017   * You may obtain a copy of the License at:
00018   *
00019   *        http://www.st.com/software_license_agreement_liberty_v2
00020   *
00021   * Unless required by applicable law or agreed to in writing, software 
00022   * distributed under the License is distributed on an "AS IS" BASIS, 
00023   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00024   * See the License for the specific language governing permissions and
00025   * limitations under the License.
00026   *
00027   ******************************************************************************
00028   */
00029 
00030 /* Includes ------------------------------------------------------------------*/
00031 #include "stm32f0xx_it.h"
00032 
00033 /** @addtogroup STM32F0xx_StdPeriph_Examples
00034   * @{
00035   */
00036 
00037 /** @addtogroup CAN_LoopBack
00038   * @{
00039   */ 
00040 
00041 /* Private typedef -----------------------------------------------------------*/
00042 /* Private define ------------------------------------------------------------*/
00043 /* Private macro -------------------------------------------------------------*/
00044 /* Private variables ---------------------------------------------------------*/
00045 extern __IO uint32_t ret;
00046 
00047 /* Private function prototypes -----------------------------------------------*/
00048 /* Private functions ---------------------------------------------------------*/
00049 
00050 /******************************************************************************/
00051 /*            Cortex-M0 Processor Exceptions Handlers                         */
00052 /******************************************************************************/
00053 
00054 /**
00055   * @brief   This function handles NMI exception.
00056   * @param  None
00057   * @retval None
00058   */
00059 void NMI_Handler(void)
00060 {
00061 }
00062 
00063 /**
00064   * @brief  This function handles Hard Fault exception.
00065   * @param  None
00066   * @retval None
00067   */
00068 void HardFault_Handler(void)
00069 {
00070   /* Go to infinite loop when Hard Fault exception occurs */
00071   while (1)
00072   {
00073   }
00074 }
00075 
00076 /**
00077   * @brief  This function handles Memory Manage exception.
00078   * @param  None
00079   * @retval None
00080   */
00081 void MemManage_Handler(void)
00082 {
00083   /* Go to infinite loop when Memory Manage exception occurs */
00084   while (1)
00085   {
00086   }
00087 }
00088 
00089 /**
00090   * @brief  This function handles Bus Fault exception.
00091   * @param  None
00092   * @retval None
00093   */
00094 void BusFault_Handler(void)
00095 {
00096   /* Go to infinite loop when Bus Fault exception occurs */
00097   while (1)
00098   {
00099   }
00100 }
00101 
00102 /**
00103   * @brief  This function handles Usage Fault exception.
00104   * @param  None
00105   * @retval None
00106   */
00107 void UsageFault_Handler(void)
00108 {
00109   /* Go to infinite loop when Usage Fault exception occurs */
00110   while (1)
00111   {
00112   }
00113 }
00114 
00115 /**
00116   * @brief  This function handles SVCall exception.
00117   * @param  None
00118   * @retval None
00119   */
00120 void SVC_Handler(void)
00121 {
00122 }
00123 
00124 /**
00125   * @brief  This function handles Debug Monitor exception.
00126   * @param  None
00127   * @retval None
00128   */
00129 void DebugMon_Handler(void)
00130 {
00131 }
00132 
00133 /**
00134   * @brief  This function handles PendSVC exception.
00135   * @param  None
00136   * @retval None
00137   */
00138 void PendSV_Handler(void)
00139 {
00140 }
00141 
00142 /**
00143   * @brief  This function handles SysTick Handler.
00144   * @param  None
00145   * @retval None
00146   */
00147 void SysTick_Handler(void)
00148 {
00149 }
00150 
00151 /******************************************************************************/
00152 /*                 STM32F0xx Peripherals Interrupt Handlers                   */
00153 /*  Add here the Interrupt Handler for the used peripheral(s) (PPP), for the  */
00154 /*  available peripheral interrupt handler's name please refer to the startup */
00155 /*  file (startup_stm32f0xx_hd.s).                                               */
00156 /******************************************************************************/
00157 /**
00158   * @brief  This function handles CAN1 RX0 request.
00159   * @param  None
00160   * @retval None
00161   */
00162 void CEC_CAN_IRQHandler(void)
00163 {
00164   if(CAN_GetITStatus(CAN, CAN_IT_FMP0) != RESET)
00165   {
00166     CanRxMsg RxMessage;
00167     
00168     RxMessage.StdId = 0x00;
00169     RxMessage.ExtId = 0x00;
00170     RxMessage.IDE = 0;
00171     RxMessage.DLC = 0;
00172     RxMessage.FMI = 0;
00173     RxMessage.Data[0] = 0x00;
00174     RxMessage.Data[1] = 0x00;
00175     
00176     CAN_Receive(CAN, CAN_FIFO0, &RxMessage);
00177     
00178     if((RxMessage.ExtId == 0x1234) && (RxMessage.IDE == CAN_ID_EXT)
00179        && (RxMessage.DLC == 2) && ((RxMessage.Data[1]|(RxMessage.Data[0]<<8)) == 0xDECA))
00180     {
00181       ret = 1; 
00182     }
00183     else
00184     {
00185       ret = 0; 
00186     }
00187   }
00188 }
00189 
00190 /**
00191   * @brief  This function handles PPP interrupt request.
00192   * @param  None
00193   * @retval None
00194   */
00195 /*void PPP_IRQHandler(void)
00196 {
00197 }*/
00198 
00199 /**
00200   * @}
00201   */ 
00202 
00203 /**
00204   * @}
00205   */ 
00206 
00207 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
STM32L1xx Standard Peripherals Library: Footer

 

 

 For complete documentation on STM32 Microcontrollers visit www.st.com/STM32