; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\output\stm32f10x_it.o --depend=.\output\stm32f10x_it.d --device=DARMSTM --apcs=interwork -O0 -I.\ -Id:\Keil\ARM\INC\ST\STM32F10x --omf_browse=.\output\stm32f10x_it.crf stm32f10x_it.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  NMIException PROC
;;;48     *******************************************************************************/
;;;49     void NMIException(void)
000000  4770              BX       lr
;;;50     {
;;;51     }
;;;52     
                          ENDP

                  HardFaultException PROC
;;;59     *******************************************************************************/
;;;60     void HardFaultException(void)
000002  4770              BX       lr
;;;61     {
;;;62     }
;;;63     
                          ENDP

                  MemManageException PROC
;;;70     *******************************************************************************/
;;;71     void MemManageException(void)
000004  4770              BX       lr
;;;72     {
;;;73     }
;;;74     
                          ENDP

                  BusFaultException PROC
;;;81     *******************************************************************************/
;;;82     void BusFaultException(void)
000006  4770              BX       lr
;;;83     {
;;;84     }
;;;85     
                          ENDP

                  UsageFaultException PROC
;;;92     *******************************************************************************/
;;;93     void UsageFaultException(void)
000008  4770              BX       lr
;;;94     {
;;;95     }
;;;96     
                          ENDP

                  DebugMonitor PROC
;;;103    *******************************************************************************/
;;;104    void DebugMonitor(void)
00000a  4770              BX       lr
;;;105    {
;;;106    }
;;;107    
                          ENDP

                  SVCHandler PROC
;;;114    *******************************************************************************/
;;;115    void SVCHandler(void)
00000c  4770              BX       lr
;;;116    {
;;;117    }
;;;118    
                          ENDP

                  PendSVC PROC
;;;125    *******************************************************************************/
;;;126    void PendSVC(void)
00000e  4770              BX       lr
;;;127    {
;;;128    }
;;;129    
                          ENDP

                  SysTickHandler PROC
;;;136    *******************************************************************************/
;;;137    void SysTickHandler(void)
000010  4770              BX       lr
;;;138    {
;;;139    }
;;;140    
                          ENDP

                  WWDG_IRQHandler PROC
;;;147    *******************************************************************************/
;;;148    void WWDG_IRQHandler(void)
000012  4770              BX       lr
;;;149    {
;;;150    }
;;;151    
                          ENDP

                  PVD_IRQHandler PROC
;;;158    *******************************************************************************/
;;;159    void PVD_IRQHandler(void)
000014  4770              BX       lr
;;;160    {
;;;161    }
;;;162    
                          ENDP

                  TAMPER_IRQHandler PROC
;;;169    *******************************************************************************/
;;;170    void TAMPER_IRQHandler(void)
000016  4770              BX       lr
;;;171    {
;;;172    }
;;;173    
                          ENDP

                  RTC_IRQHandler PROC
;;;180    *******************************************************************************/
;;;181    void RTC_IRQHandler(void)
000018  4770              BX       lr
;;;182    {
;;;183    }
;;;184    
                          ENDP

                  FLASH_IRQHandler PROC
;;;191    *******************************************************************************/
;;;192    void FLASH_IRQHandler(void)
00001a  4770              BX       lr
;;;193    {
;;;194    }
;;;195    
                          ENDP

                  RCC_IRQHandler PROC
;;;202    *******************************************************************************/
;;;203    void RCC_IRQHandler(void)
00001c  4770              BX       lr
;;;204    {
;;;205    }
;;;206    
                          ENDP

                  EXTI0_IRQHandler PROC
;;;213    *******************************************************************************/
;;;214    void EXTI0_IRQHandler(void)
00001e  4770              BX       lr
;;;215    {
;;;216    }
;;;217    
                          ENDP

                  EXTI1_IRQHandler PROC
;;;224    *******************************************************************************/
;;;225    void EXTI1_IRQHandler(void)
000020  4770              BX       lr
;;;226    {
;;;227    }
;;;228    
                          ENDP

                  EXTI2_IRQHandler PROC
;;;235    *******************************************************************************/
;;;236    void EXTI2_IRQHandler(void)
000022  4770              BX       lr
;;;237    {
;;;238    }
;;;239    
                          ENDP

                  EXTI3_IRQHandler PROC
;;;246    *******************************************************************************/
;;;247    void EXTI3_IRQHandler(void)
000024  4770              BX       lr
;;;248    {
;;;249    }
;;;250    
                          ENDP

                  EXTI4_IRQHandler PROC
;;;257    *******************************************************************************/
;;;258    void EXTI4_IRQHandler(void)
000026  4770              BX       lr
;;;259    {
;;;260    }
;;;261    
                          ENDP

                  DMAChannel1_IRQHandler PROC
;;;268    *******************************************************************************/
;;;269    void DMAChannel1_IRQHandler(void)
000028  4770              BX       lr
;;;270    {
;;;271    }
;;;272    
                          ENDP

                  DMAChannel2_IRQHandler PROC
;;;279    *******************************************************************************/
;;;280    void DMAChannel2_IRQHandler(void)
00002a  4770              BX       lr
;;;281    {
;;;282    }
;;;283    
                          ENDP

                  DMAChannel3_IRQHandler PROC
;;;290    *******************************************************************************/
;;;291    void DMAChannel3_IRQHandler(void)
00002c  4770              BX       lr
;;;292    {
;;;293    }
;;;294    
                          ENDP

                  DMAChannel4_IRQHandler PROC
;;;301    *******************************************************************************/
;;;302    void DMAChannel4_IRQHandler(void)
00002e  4770              BX       lr
;;;303    {
;;;304    }
;;;305    
                          ENDP

                  DMAChannel5_IRQHandler PROC
;;;312    *******************************************************************************/
;;;313    void DMAChannel5_IRQHandler(void)
000030  4770              BX       lr
;;;314    {
;;;315    }
;;;316    
                          ENDP

                  DMAChannel6_IRQHandler PROC
;;;323    *******************************************************************************/
;;;324    void DMAChannel6_IRQHandler(void)
000032  4770              BX       lr
;;;325    {
;;;326    }
;;;327    
                          ENDP

                  DMAChannel7_IRQHandler PROC
;;;334    *******************************************************************************/
;;;335    void DMAChannel7_IRQHandler(void)
000034  4770              BX       lr
;;;336    {
;;;337    }
;;;338    
                          ENDP

                  ADC_IRQHandler PROC
;;;345    *******************************************************************************/
;;;346    void ADC_IRQHandler(void)
000036  4770              BX       lr
;;;347    {
;;;348    }
;;;349    
                          ENDP

                  USB_HP_CAN_TX_IRQHandler PROC
;;;357    *******************************************************************************/
;;;358    void USB_HP_CAN_TX_IRQHandler(void)
000038  4770              BX       lr
;;;359    {
;;;360    }
;;;361    
                          ENDP

                  USB_LP_CAN_RX0_IRQHandler PROC
;;;369    *******************************************************************************/
;;;370    void USB_LP_CAN_RX0_IRQHandler(void)
00003a  4770              BX       lr
;;;371    {
;;;372    }
;;;373    
                          ENDP

                  CAN_RX1_IRQHandler PROC
;;;380    *******************************************************************************/
;;;381    void CAN_RX1_IRQHandler(void)
00003c  4770              BX       lr
;;;382    {
;;;383    }
;;;384    
                          ENDP

                  CAN_SCE_IRQHandler PROC
;;;391    *******************************************************************************/
;;;392    void CAN_SCE_IRQHandler(void)
00003e  4770              BX       lr
;;;393    {
;;;394    }
;;;395    
                          ENDP

                  EXTI9_5_IRQHandler PROC
;;;402    *******************************************************************************/
;;;403    void EXTI9_5_IRQHandler(void)
000040  4770              BX       lr
;;;404    {
;;;405    }
;;;406    
                          ENDP

                  TIM1_BRK_IRQHandler PROC
;;;413    *******************************************************************************/
;;;414    void TIM1_BRK_IRQHandler(void)
000042  4770              BX       lr
;;;415    {
;;;416    }
;;;417    
                          ENDP

                  TIM1_UP_IRQHandler PROC
;;;425    *******************************************************************************/
;;;426    void TIM1_UP_IRQHandler(void)
000044  4770              BX       lr
;;;427    {
;;;428    }
;;;429    
                          ENDP

                  TIM1_TRG_COM_IRQHandler PROC
;;;437    *******************************************************************************/
;;;438    void TIM1_TRG_COM_IRQHandler(void)
000046  4770              BX       lr
;;;439    {
;;;440    }
;;;441    
                          ENDP

                  TIM1_CC_IRQHandler PROC
;;;448    *******************************************************************************/
;;;449    void TIM1_CC_IRQHandler(void)
000048  4770              BX       lr
;;;450    {
;;;451    }
;;;452    
                          ENDP

                  TIM2_IRQHandler PROC
;;;459    *******************************************************************************/
;;;460    void TIM2_IRQHandler(void)
00004a  4770              BX       lr
;;;461    {
;;;462    }
;;;463    
                          ENDP

                  TIM3_IRQHandler PROC
;;;470    *******************************************************************************/
;;;471    void TIM3_IRQHandler(void)
00004c  4770              BX       lr
;;;472    {
;;;473    }
;;;474    
                          ENDP

                  TIM4_IRQHandler PROC
;;;481    *******************************************************************************/
;;;482    void TIM4_IRQHandler(void)
00004e  4770              BX       lr
;;;483    {
;;;484    }
;;;485    
                          ENDP

                  I2C1_EV_IRQHandler PROC
;;;492    *******************************************************************************/
;;;493    void I2C1_EV_IRQHandler(void)
000050  b510              PUSH     {r4,lr}
;;;494    {
;;;495      switch (I2C_GetLastEvent(I2C1))
000052  4846              LDR      r0,|L1.364|
000054  f7fffffe          BL       I2C_GetLastEvent
000058  f46f3140          MVN      r1,#0x30000
00005c  1840              ADDS     r0,r0,r1
00005e  d006              BEQ      |L1.110|
000060  f5a02080          SUB      r0,r0,#0x40000
000064  3881              SUBS     r0,r0,#0x81
000066  d008              BEQ      |L1.122|
000068  2802              CMP      r0,#2
00006a  d137              BNE      |L1.220|
00006c  e018              B        |L1.160|
                  |L1.110|
;;;496      {
;;;497        /* Test on I2C1 EV5 and clear it */
;;;498        case I2C_EVENT_MASTER_MODE_SELECT:               
;;;499          /* Send I2C2 slave Address for write */
;;;500          I2C_Send7bitAddress(I2C1, I2C2_SLAVE_ADDRESS7, I2C_Direction_Transmitter);
00006e  2200              MOVS     r2,#0
000070  2130              MOVS     r1,#0x30
000072  483e              LDR      r0,|L1.364|
000074  f7fffffe          BL       I2C_Send7bitAddress
;;;501          break;
000078  e031              B        |L1.222|
                  |L1.122|
;;;502    
;;;503        /* Test on I2C1 EV6 and first EV8 and clear them */
;;;504        case I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED: 
;;;505          /* I2C1 and I2C2 PEC Transmission Enable */
;;;506          I2C_CalculatePEC(I2C1, ENABLE);
00007a  2101              MOVS     r1,#1
00007c  483b              LDR      r0,|L1.364|
00007e  f7fffffe          BL       I2C_CalculatePEC
;;;507          I2C_CalculatePEC(I2C2, ENABLE);
000082  2101              MOVS     r1,#1
000084  483a              LDR      r0,|L1.368|
000086  f7fffffe          BL       I2C_CalculatePEC
;;;508          /* Send the first data */
;;;509          I2C_SendData(I2C1, I2C1_Buffer_Tx[Tx_Idx++]);  //EV8 just after EV6
00008a  483a              LDR      r0,|L1.372|
00008c  7804              LDRB     r4,[r0,#0]  ; Tx_Idx
00008e  1c60              ADDS     r0,r4,#1
000090  4a38              LDR      r2,|L1.372|
000092  7010              STRB     r0,[r2,#0]
000094  4838              LDR      r0,|L1.376|
000096  5d01              LDRB     r1,[r0,r4]
000098  4834              LDR      r0,|L1.364|
00009a  f7fffffe          BL       I2C_SendData
;;;510          break;
00009e  e01e              B        |L1.222|
                  |L1.160|
;;;511    
;;;512        /* Test on I2C1 EV8 and clear it */
;;;513        case I2C_EVENT_MASTER_BYTE_TRANSMITTED:          
;;;514          if(Tx_Idx < BufferSize)
0000a0  4834              LDR      r0,|L1.372|
0000a2  7800              LDRB     r0,[r0,#0]  ; Tx_Idx
0000a4  2804              CMP      r0,#4
0000a6  da0a              BGE      |L1.190|
;;;515          {
;;;516            /* Transmit buffer data */
;;;517            I2C_SendData(I2C1, I2C1_Buffer_Tx[Tx_Idx++]);
0000a8  4832              LDR      r0,|L1.372|
0000aa  7804              LDRB     r4,[r0,#0]  ; Tx_Idx
0000ac  1c60              ADDS     r0,r4,#1
0000ae  4a31              LDR      r2,|L1.372|
0000b0  7010              STRB     r0,[r2,#0]
0000b2  4831              LDR      r0,|L1.376|
0000b4  5d01              LDRB     r1,[r0,r4]
0000b6  482d              LDR      r0,|L1.364|
0000b8  f7fffffe          BL       I2C_SendData
0000bc  e00d              B        |L1.218|
                  |L1.190|
;;;518          }
;;;519          else
;;;520          {
;;;521            /* Disable I2C1 interrupts */
;;;522            I2C_ITConfig(I2C1, I2C_IT_EVT | I2C_IT_BUF, DISABLE);
0000be  2200              MOVS     r2,#0
0000c0  f44f61c0          MOV      r1,#0x600
0000c4  4829              LDR      r0,|L1.364|
0000c6  f7fffffe          BL       I2C_ITConfig
;;;523    
;;;524            /* Enable Transfer PEC next for I2C1 and I2C2 */
;;;525            I2C_TransmitPEC(I2C2, ENABLE);
0000ca  2101              MOVS     r1,#1
0000cc  4828              LDR      r0,|L1.368|
0000ce  f7fffffe          BL       I2C_TransmitPEC
;;;526            I2C_TransmitPEC(I2C1, ENABLE);
0000d2  2101              MOVS     r1,#1
0000d4  4825              LDR      r0,|L1.364|
0000d6  f7fffffe          BL       I2C_TransmitPEC
                  |L1.218|
;;;527          }
;;;528          break;
0000da  e000              B        |L1.222|
                  |L1.220|
;;;529    
;;;530        default:
;;;531          break;
0000dc  bf00              NOP      
                  |L1.222|
0000de  bf00              NOP                            ;501
;;;532      }
;;;533    }
0000e0  bd10              POP      {r4,pc}
;;;534    
                          ENDP

                  I2C1_ER_IRQHandler PROC
;;;541    *******************************************************************************/
;;;542    void I2C1_ER_IRQHandler(void)
0000e2  4770              BX       lr
;;;543    {
;;;544    }
;;;545    
                          ENDP

                  I2C2_EV_IRQHandler PROC
;;;552    *******************************************************************************/
;;;553    void I2C2_EV_IRQHandler(void)
0000e4  b510              PUSH     {r4,lr}
;;;554    {
;;;555      switch (I2C_GetLastEvent(I2C2))
0000e6  4822              LDR      r0,|L1.368|
0000e8  f7fffffe          BL       I2C_GetLastEvent
0000ec  2810              CMP      r0,#0x10
0000ee  d026              BEQ      |L1.318|
0000f0  f1b01f02          CMP      r0,#0x20002
0000f4  d004              BEQ      |L1.256|
0000f6  f5a03000          SUB      r0,r0,#0x20000
0000fa  3840              SUBS     r0,r0,#0x40
0000fc  d12a              BNE      |L1.340|
0000fe  e000              B        |L1.258|
                  |L1.256|
;;;556      {
;;;557        /* Test on I2C2 EV1 and clear it */
;;;558        case I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED:   
;;;559          break;
000100  e029              B        |L1.342|
                  |L1.258|
;;;560    
;;;561        /* Test on I2C2 EV2 and clear it */
;;;562        case I2C_EVENT_SLAVE_BYTE_RECEIVED:              
;;;563          if (Rx_Idx < BufferSize)
000102  481e              LDR      r0,|L1.380|
000104  7800              LDRB     r0,[r0,#0]  ; Rx_Idx
000106  2804              CMP      r0,#4
000108  da0a              BGE      |L1.288|
;;;564          {
;;;565            /* Store received data buffer */
;;;566            I2C2_Buffer_Rx[Rx_Idx++] = I2C_ReceiveData(I2C2); 
00010a  4819              LDR      r0,|L1.368|
00010c  f7fffffe          BL       I2C_ReceiveData
000110  491a              LDR      r1,|L1.380|
000112  780c              LDRB     r4,[r1,#0]  ; Rx_Idx
000114  1c61              ADDS     r1,r4,#1
000116  4a19              LDR      r2,|L1.380|
000118  7011              STRB     r1,[r2,#0]
00011a  4919              LDR      r1,|L1.384|
00011c  5508              STRB     r0,[r1,r4]
00011e  e00d              B        |L1.316|
                  |L1.288|
;;;567          }
;;;568          else
;;;569          {
;;;570            /* Store received PEC value */
;;;571            PEC_Value = I2C_ReceiveData(I2C2);
000120  4813              LDR      r0,|L1.368|
000122  f7fffffe          BL       I2C_ReceiveData
000126  4917              LDR      r1,|L1.388|
000128  7008              STRB     r0,[r1,#0]
;;;572            Rx_Idx++;
00012a  4814              LDR      r0,|L1.380|
00012c  7800              LDRB     r0,[r0,#0]  ; Rx_Idx
00012e  1c40              ADDS     r0,r0,#1
000130  4912              LDR      r1,|L1.380|
000132  7008              STRB     r0,[r1,#0]
;;;573            /* Send I2C1 STOP Condition */
;;;574            I2C_GenerateSTOP(I2C1, ENABLE);
000134  2101              MOVS     r1,#1
000136  480d              LDR      r0,|L1.364|
000138  f7fffffe          BL       I2C_GenerateSTOP
                  |L1.316|
;;;575          }     
;;;576          break; 
00013c  e00b              B        |L1.342|
                  |L1.318|
;;;577    
;;;578        /* Test on I2C2 EV4 and clear it */
;;;579        case I2C_EVENT_SLAVE_STOP_DETECTED:              
;;;580          /* Clear STOPF flag */
;;;581          I2C_ClearFlag(I2C2, I2C_FLAG_STOPF);
00013e  4912              LDR      r1,|L1.392|
000140  480b              LDR      r0,|L1.368|
000142  f7fffffe          BL       I2C_ClearFlag
;;;582          /* Disable I2C2 interrupts */
;;;583          I2C_ITConfig(I2C2, I2C_IT_EVT | I2C_IT_BUF, DISABLE);
000146  2200              MOVS     r2,#0
000148  f44f61c0          MOV      r1,#0x600
00014c  4808              LDR      r0,|L1.368|
00014e  f7fffffe          BL       I2C_ITConfig
;;;584          break;
000152  e000              B        |L1.342|
                  |L1.340|
;;;585    
;;;586        default:
;;;587          break;
000154  bf00              NOP      
                  |L1.342|
000156  bf00              NOP                            ;559
;;;588      }
;;;589    }
000158  bd10              POP      {r4,pc}
;;;590    
                          ENDP

                  I2C2_ER_IRQHandler PROC
;;;597    *******************************************************************************/
;;;598    void I2C2_ER_IRQHandler(void)
00015a  4770              BX       lr
;;;599    {
;;;600    }
;;;601    
                          ENDP

                  SPI1_IRQHandler PROC
;;;608    *******************************************************************************/
;;;609    void SPI1_IRQHandler(void)
00015c  4770              BX       lr
;;;610    {
;;;611    }
;;;612    
                          ENDP

                  SPI2_IRQHandler PROC
;;;619    *******************************************************************************/
;;;620    void SPI2_IRQHandler(void)
00015e  4770              BX       lr
;;;621    {
;;;622    }
;;;623    
                          ENDP

                  USART1_IRQHandler PROC
;;;630    *******************************************************************************/
;;;631    void USART1_IRQHandler(void)
000160  4770              BX       lr
;;;632    {
;;;633    }
;;;634    
                          ENDP

                  USART2_IRQHandler PROC
;;;641    *******************************************************************************/
;;;642    void USART2_IRQHandler(void)
000162  4770              BX       lr
;;;643    {
;;;644    }
;;;645    
                          ENDP

                  USART3_IRQHandler PROC
;;;652    *******************************************************************************/
;;;653    void USART3_IRQHandler(void)
000164  4770              BX       lr
;;;654    {
;;;655    }
;;;656    
                          ENDP

                  EXTI15_10_IRQHandler PROC
;;;663    *******************************************************************************/
;;;664    void EXTI15_10_IRQHandler(void)
000166  4770              BX       lr
;;;665    {
;;;666    }
;;;667    
                          ENDP

                  RTCAlarm_IRQHandler PROC
;;;674    *******************************************************************************/
;;;675    void RTCAlarm_IRQHandler(void)
000168  4770              BX       lr
;;;676    {
;;;677    }
;;;678    
                          ENDP

                  USBWakeUp_IRQHandler PROC
;;;685    *******************************************************************************/
;;;686    void USBWakeUp_IRQHandler(void)
00016a  4770              BX       lr
;;;687    {
;;;688    }
;;;689    
                          ENDP

                  |L1.364|
                          DCD      0x40005400
                  |L1.368|
                          DCD      0x40005800
                  |L1.372|
                          DCD      Tx_Idx
                  |L1.376|
                          DCD      I2C1_Buffer_Tx
                  |L1.380|
                          DCD      Rx_Idx
                  |L1.384|
                          DCD      I2C2_Buffer_Rx
                  |L1.388|
                          DCD      PEC_Value
                  |L1.392|
                          DCD      0x60000010
