⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.s79

📁 用于监视I2C通信总线
💻 S79
📖 第 1 页 / 共 2 页
字号:
//  109   EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
        MOVS     R0,#+16
        STRB     R0,[SP, #+9]
//  110   EXTI_InitStructure.EXTI_LineCmd = ENABLE;
        MOV      R0,R4
        STRB     R0,[SP, #+10]
//  111   EXTI_Init(&EXTI_InitStructure); 
        ADD      R0,SP,#+4
        _BLF     EXTI_Init,??EXTI_Init??rT
//  112   
//  113        /* Configure and enable EXTI0 interrupt -------------------------------------*/
//  114   NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
        MOVS     R0,#+6
        STRB     R0,[SP, #+0]
//  115   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        STRB     R5,[SP, #+1]
//  116   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
        STRB     R6,[SP, #+2]
//  117   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        MOVS     R0,R4
        STRB     R0,[SP, #+3]
//  118   NVIC_Init(&NVIC_InitStructure);
        MOV      R0,SP
        _BLF     NVIC_Init,??NVIC_Init??rT
//  119   
//  120   /* Configure and enable EXTI1 interrupt -------------------------------------*/
//  121   NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQChannel;
        MOVS     R0,#+7
        STRB     R0,[SP, #+0]
//  122   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        STRB     R5,[SP, #+1]
//  123   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
        MOVS     R0,R4
        STRB     R0,[SP, #+2]
//  124   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        STRB     R4,[SP, #+3]
//  125   NVIC_Init(&NVIC_InitStructure);
        MOV      R0,SP
        _BLF     NVIC_Init,??NVIC_Init??rT
//  126 }
        POP      {R0-R6,PC}       ;; return
        Nop      
        DATA
??EXTI_Configuration_0:
        DC32     0x40010800
        CFI EndBlock cfiBlock1
//  127 
//  128 /*******************************************************************************
//  129 * Function Name  : main.
//  130 * Description    : Main routine.
//  131 * Input          : None.
//  132 * Output         : None.
//  133 * Return         : None.
//  134 *******************************************************************************/

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function main
        THUMB
//  135 int main(void)
//  136 {
main:
        PUSH     {R4,LR}
        CFI ?RET Frame(CFA, -4)
        CFI R4 Frame(CFA, -8)
        CFI CFA R13+8
//  137 
//  138 #ifdef DEBUG
//  139   debug();
//  140 #endif
//  141 
//  142   Set_System();
//  143   Set_USBClock();
//  144   USB_Interrupts_Config();
//  145   USB_Init();
//  146   TIM_Configuration();
//  147   EXTI_Configuration();
//  148   SI2C_init();
        LDR.N    R4,??main_0      ;; count_out
        _BLF     Set_System,??Set_System??rT
        _BLF     Set_USBClock,??Set_USBClock??rT
        _BLF     USB_Interrupts_Config,??USB_Interrupts_Config??rT
        _BLF     USB_Init,??USB_Init??rT
        BL       TIM_Configuration
        BL       EXTI_Configuration
        _BLF     SI2C_init,??SI2C_init??rT
//  149 
//  150   while (1)
//  151   {
//  152     
//  153     if ((count_out != 0) && (bDeviceState == CONFIGURED))
??main_1:
        LDR      R1,[R4, #+0]
        CBZ      R1,??main_2
        LDR.N    R0,??main_0+0x4  ;; bDeviceState
        LDR      R0,[R0, #+0]
        CMP      R0,#+5
        BNE.N    ??main_2
//  154     {
//  155       USB_To_USART_Send_Data(&buffer_out[0], count_out);
        LDR.N    R0,??main_0+0x8  ;; buffer_out
        UXTB     R1,R1
        _BLF     USB_To_USART_Send_Data,??USB_To_USART_Send_Data??rT
//  156       count_out = 0;
        MOVS     R0,#+0
        STR      R0,[R4, #+0]
//  157     }
//  158     
//  159     data_convert();
??main_2:
        _BLF     data_convert,??data_convert??rT
//  160     I2C_To_USB_Send_Data();
        _BLF     I2C_To_USB_Send_Data,??I2C_To_USB_Send_Data??rT
        B.N      ??main_1
        Nop      
        DATA
??main_0:
        DC32     count_out
        DC32     bDeviceState
        DC32     buffer_out
        CFI EndBlock cfiBlock2
//  161   }
//  162 }

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock3 Using cfiCommon0
        CFI NoFunction
        THUMB
??NVIC_SetVectorTable??rT:
        LDR.N    R3,??Subroutine0_0  ;; NVIC_SetVectorTable
        BX       R3
        DATA
??Subroutine0_0:
        DC32     NVIC_SetVectorTable
        CFI EndBlock cfiBlock3

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock4 Using cfiCommon0
        CFI NoFunction
        THUMB
??TIM_TimeBaseInit??rT:
        LDR.N    R3,??Subroutine1_0  ;; TIM_TimeBaseInit
        BX       R3
        DATA
??Subroutine1_0:
        DC32     TIM_TimeBaseInit
        CFI EndBlock cfiBlock4

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock5 Using cfiCommon0
        CFI NoFunction
        THUMB
??TIM_Cmd??rT:
        LDR.N    R3,??Subroutine2_0  ;; TIM_Cmd
        BX       R3
        DATA
??Subroutine2_0:
        DC32     TIM_Cmd
        CFI EndBlock cfiBlock5

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock6 Using cfiCommon0
        CFI NoFunction
        THUMB
??TIM_ClearFlag??rT:
        LDR.N    R3,??Subroutine3_0  ;; TIM_ClearFlag
        BX       R3
        DATA
??Subroutine3_0:
        DC32     TIM_ClearFlag
        CFI EndBlock cfiBlock6

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock7 Using cfiCommon0
        CFI NoFunction
        THUMB
??TIM_ITConfig??rT:
        LDR.N    R3,??Subroutine4_0  ;; TIM_ITConfig
        BX       R3
        DATA
??Subroutine4_0:
        DC32     TIM_ITConfig
        CFI EndBlock cfiBlock7

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock8 Using cfiCommon0
        CFI NoFunction
        THUMB
??GPIO_Init??rT:
        LDR.N    R3,??Subroutine5_0  ;; GPIO_Init
        BX       R3
        DATA
??Subroutine5_0:
        DC32     GPIO_Init
        CFI EndBlock cfiBlock8

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock9 Using cfiCommon0
        CFI NoFunction
        THUMB
??GPIO_EXTILineConfig??rT:
        LDR.N    R3,??Subroutine6_0  ;; GPIO_EXTILineConfig
        BX       R3
        DATA
??Subroutine6_0:
        DC32     GPIO_EXTILineConfig
        CFI EndBlock cfiBlock9

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock10 Using cfiCommon0
        CFI NoFunction
        THUMB
??EXTI_ClearITPendingBit??rT:
        LDR.N    R3,??Subroutine7_0  ;; EXTI_ClearITPendingBit
        BX       R3
        DATA
??Subroutine7_0:
        DC32     EXTI_ClearITPendingBit
        CFI EndBlock cfiBlock10

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock11 Using cfiCommon0
        CFI NoFunction
        THUMB
??EXTI_Init??rT:
        LDR.N    R3,??Subroutine8_0  ;; EXTI_Init
        BX       R3
        DATA
??Subroutine8_0:
        DC32     EXTI_Init
        CFI EndBlock cfiBlock11

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock12 Using cfiCommon0
        CFI NoFunction
        THUMB
??NVIC_Init??rT:
        LDR.N    R3,??Subroutine9_0  ;; NVIC_Init
        BX       R3
        DATA
??Subroutine9_0:
        DC32     NVIC_Init
        CFI EndBlock cfiBlock12

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock13 Using cfiCommon0
        CFI NoFunction
        THUMB
??Set_System??rT:
        LDR.N    R3,??Subroutine10_0  ;; Set_System
        BX       R3
        DATA
??Subroutine10_0:
        DC32     Set_System
        CFI EndBlock cfiBlock13

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock14 Using cfiCommon0
        CFI NoFunction
        THUMB
??Set_USBClock??rT:
        LDR.N    R3,??Subroutine11_0  ;; Set_USBClock
        BX       R3
        DATA
??Subroutine11_0:
        DC32     Set_USBClock
        CFI EndBlock cfiBlock14

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock15 Using cfiCommon0
        CFI NoFunction
        THUMB
??USB_Interrupts_Config??rT:
        LDR.N    R3,??Subroutine12_0  ;; USB_Interrupts_Config
        BX       R3
        DATA
??Subroutine12_0:
        DC32     USB_Interrupts_Config
        CFI EndBlock cfiBlock15

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock16 Using cfiCommon0
        CFI NoFunction
        THUMB
??USB_Init??rT:
        LDR.N    R3,??Subroutine13_0  ;; USB_Init
        BX       R3
        DATA
??Subroutine13_0:
        DC32     USB_Init
        CFI EndBlock cfiBlock16

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock17 Using cfiCommon0
        CFI NoFunction
        THUMB
??SI2C_init??rT:
        LDR.N    R3,??Subroutine14_0  ;; SI2C_init
        BX       R3
        DATA
??Subroutine14_0:
        DC32     SI2C_init
        CFI EndBlock cfiBlock17

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock18 Using cfiCommon0
        CFI NoFunction
        THUMB
??USB_To_USART_Send_Data??rT:
        LDR.N    R3,??Subroutine15_0  ;; USB_To_USART_Send_Data
        BX       R3
        DATA
??Subroutine15_0:
        DC32     USB_To_USART_Send_Data
        CFI EndBlock cfiBlock18

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock19 Using cfiCommon0
        CFI NoFunction
        THUMB
??data_convert??rT:
        LDR.N    R3,??Subroutine16_0  ;; data_convert
        BX       R3
        DATA
??Subroutine16_0:
        DC32     data_convert
        CFI EndBlock cfiBlock19

        RSEG CODE:CODE:NOROOT(2)
        CFI Block cfiBlock20 Using cfiCommon0
        CFI NoFunction
        THUMB
??I2C_To_USB_Send_Data??rT:
        LDR.N    R3,??Subroutine17_0  ;; I2C_To_USB_Send_Data
        BX       R3
        DATA
??Subroutine17_0:
        DC32     I2C_To_USB_Send_Data
        CFI EndBlock cfiBlock20

        END
//  163 
//  164 #ifdef  DEBUG
//  165 /*******************************************************************************
//  166 * Function Name  : assert_failed
//  167 * Description    : Reports the name of the source file and the source line number
//  168 *                  where the assert_param error has occurred.
//  169 * Input          : - file: pointer to the source file name
//  170 *                  - line: assert_param error line source number
//  171 * Output         : None
//  172 * Return         : None
//  173 *******************************************************************************/
//  174 void assert_failed(u8* file, u32 line)
//  175 {
//  176   /* User can add his own implementation to report the file name and line number,
//  177      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
//  178 
//  179   /* Infinite loop */
//  180   while (1)
//  181   {}
//  182 }
//  183 #endif
//  184 
//  185 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
// 
// 472 bytes in segment CODE
// 
// 328 bytes of CODE memory (+ 144 bytes shared)
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -