/******************** (C) COPYRIGHT 2008 STMicroelectronics ******************** * File Name : stm32f10x_it.c * Author : MCD Application Team * Version : V2.0.1 * Date : 06/13/2008 * Description : Main Interrupt Service Routines. * This file provides template for all exceptions handler * and peripherals interrupt service routine. ******************************************************************************** * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. *******************************************************************************/ /* Includes ------------------------------------------------------------------*/ #include "stm32f10x_it.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ #define BufferSize 4 #define I2C2_SLAVE_ADDRESS7 0x30 /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ extern vu8 Tx_Idx, Rx_Idx, PEC_Value, DataToTransfer; extern u8 I2C1_Buffer_Tx[], I2C2_Buffer_Rx[]; /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ /******************************************************************************* * Function Name : NMIException * Description : This function handles NMI exception. * Input : None * Output : None * Return : None *******************************************************************************/ void NMIException(void) { } /******************************************************************************* * Function Name : HardFaultException * Description : This function handles Hard Fault exception. * Input : None * Output : None * Return : None *******************************************************************************/ void HardFaultException(void) { /* Go to infinite loop when Hard Fault exception occurs */ while (1) { } } /******************************************************************************* * Function Name : MemManageException * Description : This function handles Memory Manage exception. * Input : None * Output : None * Return : None *******************************************************************************/ void MemManageException(void) { /* Go to infinite loop when Memory Manage exception occurs */ while (1) { } } /******************************************************************************* * Function Name : BusFaultException * Description : This function handles Bus Fault exception. * Input : None * Output : None * Return : None *******************************************************************************/ void BusFaultException(void) { /* Go to infinite loop when Bus Fault exception occurs */ while (1) { } } /******************************************************************************* * Function Name : UsageFaultException * Description : This function handles Usage Fault exception. * Input : None * Output : None * Return : None *******************************************************************************/ void UsageFaultException(void) { /* Go to infinite loop when Usage Fault exception occurs */ while (1) { } } /******************************************************************************* * Function Name : DebugMonitor * Description : This function handles Debug Monitor exception. * Input : None * Output : None * Return : None *******************************************************************************/ void DebugMonitor(void) { } /******************************************************************************* * Function Name : SVCHandler * Description : This function handles SVCall exception. * Input : None * Output : None * Return : None *******************************************************************************/ void SVCHandler(void) { } /******************************************************************************* * Function Name : PendSVC * Description : This function handles PendSVC exception. * Input : None * Output : None * Return : None *******************************************************************************/ void PendSVC(void) { } /******************************************************************************* * Function Name : SysTickHandler * Description : This function handles SysTick Handler. * Input : None * Output : None * Return : None *******************************************************************************/ void SysTickHandler(void) { } /******************************************************************************* * Function Name : WWDG_IRQHandler * Description : This function handles WWDG interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void WWDG_IRQHandler(void) { } /******************************************************************************* * Function Name : PVD_IRQHandler * Description : This function handles PVD interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void PVD_IRQHandler(void) { } /******************************************************************************* * Function Name : TAMPER_IRQHandler * Description : This function handles Tamper interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TAMPER_IRQHandler(void) { } /******************************************************************************* * Function Name : RTC_IRQHandler * Description : This function handles RTC global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void RTC_IRQHandler(void) { } /******************************************************************************* * Function Name : FLASH_IRQHandler * Description : This function handles Flash interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void FLASH_IRQHandler(void) { } /******************************************************************************* * Function Name : RCC_IRQHandler * Description : This function handles RCC interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void RCC_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI0_IRQHandler * Description : This function handles External interrupt Line 0 request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI0_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI1_IRQHandler * Description : This function handles External interrupt Line 1 request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI1_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI2_IRQHandler * Description : This function handles External interrupt Line 2 request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI2_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI3_IRQHandler * Description : This function handles External interrupt Line 3 request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI3_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI4_IRQHandler * Description : This function handles External interrupt Line 4 request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI4_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel1_IRQHandler * Description : This function handles DMA1 Channel 1 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel1_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel2_IRQHandler * Description : This function handles DMA1 Channel 2 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel2_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel3_IRQHandler * Description : This function handles DMA1 Channel 3 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel3_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel4_IRQHandler * Description : This function handles DMA1 Channel 4 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel4_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel5_IRQHandler * Description : This function handles DMA1 Channel 5 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel5_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel6_IRQHandler * Description : This function handles DMA1 Channel 6 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel6_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA1_Channel7_IRQHandler * Description : This function handles DMA1 Channel 7 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA1_Channel7_IRQHandler(void) { } /******************************************************************************* * Function Name : ADC1_2_IRQHandler * Description : This function handles ADC1 and ADC2 global interrupts requests. * Input : None * Output : None * Return : None *******************************************************************************/ void ADC1_2_IRQHandler(void) { } /******************************************************************************* * Function Name : USB_HP_CAN_TX_IRQHandler * Description : This function handles USB High Priority or CAN TX interrupts * requests. * Input : None * Output : None * Return : None *******************************************************************************/ void USB_HP_CAN_TX_IRQHandler(void) { } /******************************************************************************* * Function Name : USB_LP_CAN_RX0_IRQHandler * Description : This function handles USB Low Priority or CAN RX0 interrupts * requests. * Input : None * Output : None * Return : None *******************************************************************************/ void USB_LP_CAN_RX0_IRQHandler(void) { } /******************************************************************************* * Function Name : CAN_RX1_IRQHandler * Description : This function handles CAN RX1 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void CAN_RX1_IRQHandler(void) { } /******************************************************************************* * Function Name : CAN_SCE_IRQHandler * Description : This function handles CAN SCE interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void CAN_SCE_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI9_5_IRQHandler * Description : This function handles External lines 9 to 5 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI9_5_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM1_BRK_IRQHandler * Description : This function handles TIM1 Break interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM1_BRK_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM1_UP_IRQHandler * Description : This function handles TIM1 overflow and update interrupt * request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM1_UP_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM1_TRG_COM_IRQHandler * Description : This function handles TIM1 Trigger and commutation interrupts * requests. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM1_TRG_COM_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM1_CC_IRQHandler * Description : This function handles TIM1 capture compare interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM1_CC_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM2_IRQHandler * Description : This function handles TIM2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM2_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM3_IRQHandler * Description : This function handles TIM3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM3_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM4_IRQHandler * Description : This function handles TIM4 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM4_IRQHandler(void) { } /******************************************************************************* * Function Name : I2C1_EV_IRQHandler * Description : This function handles I2C1 Event interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void I2C1_EV_IRQHandler(void) { switch (I2C_GetLastEvent(I2C1)) { /* Test on I2C1 EV5 and clear it */ case I2C_EVENT_MASTER_MODE_SELECT: /* Send I2C2 slave Address for write */ I2C_Send7bitAddress(I2C1, I2C2_SLAVE_ADDRESS7, I2C_Direction_Transmitter); break; /* Test on I2C1 EV6 and first EV8 and clear them */ case I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED: /* I2C1 and I2C2 PEC Transmission Enable */ I2C_CalculatePEC(I2C1, ENABLE); I2C_CalculatePEC(I2C2, ENABLE); /* Send the first data */ I2C_SendData(I2C1, I2C1_Buffer_Tx[Tx_Idx++]); /* EV8 just after EV6 */ break; /* Test on I2C1 EV8 and clear it */ case I2C_EVENT_MASTER_BYTE_TRANSMITTED: if(Tx_Idx < BufferSize) { /* Transmit buffer data */ I2C_SendData(I2C1, I2C1_Buffer_Tx[Tx_Idx++]); } else { /* Disable I2C1 interrupts */ I2C_ITConfig(I2C1, I2C_IT_EVT | I2C_IT_BUF, DISABLE); /* Enable Transfer PEC next for I2C1 and I2C2 */ I2C_TransmitPEC(I2C2, ENABLE); I2C_TransmitPEC(I2C1, ENABLE); } break; default: break; } } /******************************************************************************* * Function Name : I2C1_ER_IRQHandler * Description : This function handles I2C1 Error interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void I2C1_ER_IRQHandler(void) { } /******************************************************************************* * Function Name : I2C2_EV_IRQHandler * Description : This function handles I2C2 Event interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void I2C2_EV_IRQHandler(void) { switch (I2C_GetLastEvent(I2C2)) { /* Test on I2C2 EV1 and clear it */ case I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED: break; /* Test on I2C2 EV2 and clear it */ case I2C_EVENT_SLAVE_BYTE_RECEIVED: if (Rx_Idx < BufferSize) { /* Store received data buffer */ I2C2_Buffer_Rx[Rx_Idx++] = I2C_ReceiveData(I2C2); } else { /* Store received PEC value */ PEC_Value = I2C_ReceiveData(I2C2); Rx_Idx++; /* Send I2C1 STOP Condition */ I2C_GenerateSTOP(I2C1, ENABLE); } break; /* Test on I2C2 EV4 and clear it */ case I2C_EVENT_SLAVE_STOP_DETECTED: /* Clear STOPF flag */ I2C_ClearFlag(I2C2, I2C_FLAG_STOPF); /* Disable I2C2 interrupts */ I2C_ITConfig(I2C2, I2C_IT_EVT | I2C_IT_BUF, DISABLE); break; default: break; } } /******************************************************************************* * Function Name : I2C2_ER_IRQHandler * Description : This function handles I2C2 Error interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void I2C2_ER_IRQHandler(void) { } /******************************************************************************* * Function Name : SPI1_IRQHandler * Description : This function handles SPI1 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void SPI1_IRQHandler(void) { } /******************************************************************************* * Function Name : SPI2_IRQHandler * Description : This function handles SPI2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void SPI2_IRQHandler(void) { } /******************************************************************************* * Function Name : USART1_IRQHandler * Description : This function handles USART1 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART1_IRQHandler(void) { } /******************************************************************************* * Function Name : USART2_IRQHandler * Description : This function handles USART2 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART2_IRQHandler(void) { } /******************************************************************************* * Function Name : USART3_IRQHandler * Description : This function handles USART3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USART3_IRQHandler(void) { } /******************************************************************************* * Function Name : EXTI15_10_IRQHandler * Description : This function handles External lines 15 to 10 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void EXTI15_10_IRQHandler(void) { } /******************************************************************************* * Function Name : RTCAlarm_IRQHandler * Description : This function handles RTC Alarm interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void RTCAlarm_IRQHandler(void) { } /******************************************************************************* * Function Name : USBWakeUp_IRQHandler * Description : This function handles USB WakeUp interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void USBWakeUp_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM8_BRK_IRQHandler * Description : This function handles TIM8 Break interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM8_BRK_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM8_UP_IRQHandler * Description : This function handles TIM8 overflow and update interrupt * request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM8_UP_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM8_TRG_COM_IRQHandler * Description : This function handles TIM8 Trigger and commutation interrupts * requests. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM8_TRG_COM_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM8_CC_IRQHandler * Description : This function handles TIM8 capture compare interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM8_CC_IRQHandler(void) { } /******************************************************************************* * Function Name : ADC3_IRQHandler * Description : This function handles ADC3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void ADC3_IRQHandler(void) { } /******************************************************************************* * Function Name : FSMC_IRQHandler * Description : This function handles FSMC global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void FSMC_IRQHandler(void) { } /******************************************************************************* * Function Name : SDIO_IRQHandler * Description : This function handles SDIO global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void SDIO_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM5_IRQHandler * Description : This function handles TIM5 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM5_IRQHandler(void) { } /******************************************************************************* * Function Name : SPI3_IRQHandler * Description : This function handles SPI3 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void SPI3_IRQHandler(void) { } /******************************************************************************* * Function Name : UART4_IRQHandler * Description : This function handles UART4 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void UART4_IRQHandler(void) { } /******************************************************************************* * Function Name : UART5_IRQHandler * Description : This function handles UART5 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void UART5_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM6_IRQHandler * Description : This function handles TIM6 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM6_IRQHandler(void) { } /******************************************************************************* * Function Name : TIM7_IRQHandler * Description : This function handles TIM7 global interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void TIM7_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA2_Channel1_IRQHandler * Description : This function handles DMA2 Channel 1 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA2_Channel1_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA2_Channel2_IRQHandler * Description : This function handles DMA2 Channel 2 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA2_Channel2_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA2_Channel3_IRQHandler * Description : This function handles DMA2 Channel 3 interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA2_Channel3_IRQHandler(void) { } /******************************************************************************* * Function Name : DMA2_Channel4_5_IRQHandler * Description : This function handles DMA2 Channel 4 and DMA2 Channel 5 * interrupt request. * Input : None * Output : None * Return : None *******************************************************************************/ void DMA2_Channel4_5_IRQHandler(void) { } /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/