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

📄 stm32f10x_adc.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 4 页
字号:
        LDR.N    R0,??DataTable13  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ITConfig_0:
        LDR.N    R0,??DataTable9  ;; 0xf81f
        TST      R5,R0
        BNE.N    ??ADC_ITConfig_2
        CMP      R5,#+0
        BNE.N    ??ADC_ITConfig_3
??ADC_ITConfig_2:
        MOVS     R1,#+316
        LDR.N    R0,??DataTable13  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ITConfig_3:
        MOVS     R0,R5
        CMP      R6,#+0
        BEQ.N    ??ADC_ITConfig_4
        LDR      R1,[R4, #+4]
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        ORRS     R0,R0,R1
        STR      R0,[R4, #+4]
        B.N      ??ADC_ITConfig_5
??ADC_ITConfig_4:
        LDR      R1,[R4, #+4]
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        BICS     R1,R1,R0
        STR      R1,[R4, #+4]
??ADC_ITConfig_5:
        POP      {R4-R6,PC}       ;; return
        DATA
??ADC_ITConfig_1:
        DC32     0x13b

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable9:
        DC32     0xf81f

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ResetCalibration:
        LDR      R1,[R0, #+8]
        ORRS     R1,R1,#0x8
        STR      R1,[R0, #+8]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetResetCalibrationStatus:
        MOVS     R1,R0
        MOVS     R0,#+0
        LDR      R1,[R1, #+8]
        LSLS     R1,R1,#+28
        BPL.N    ??ADC_GetResetCalibrationStatus_0
        MOVS     R0,#+1
        B.N      ??ADC_GetResetCalibrationStatus_1
??ADC_GetResetCalibrationStatus_0:
        MOVS     R0,#+0
??ADC_GetResetCalibrationStatus_1:
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_StartCalibration:
        LDR      R1,[R0, #+8]
        ORRS     R1,R1,#0x4
        STR      R1,[R0, #+8]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetCalibrationStatus:
        MOVS     R1,R0
        MOVS     R0,#+0
        LDR      R1,[R1, #+8]
        LSLS     R1,R1,#+29
        BPL.N    ??ADC_GetCalibrationStatus_0
        MOVS     R0,#+1
        B.N      ??ADC_GetCalibrationStatus_1
??ADC_GetCalibrationStatus_0:
        MOVS     R0,#+0
??ADC_GetCalibrationStatus_1:
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_SoftwareStartConvCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_SoftwareStartConvCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_SoftwareStartConvCmd_0
        LDR.N    R1,??ADC_SoftwareStartConvCmd_1  ;; 0x1a7
        LDR.N    R0,??DataTable13  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_SoftwareStartConvCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_SoftwareStartConvCmd_2
        LDR      R0,[R4, #+8]
        ORRS     R0,R0,#0x500000
        STR      R0,[R4, #+8]
        B.N      ??ADC_SoftwareStartConvCmd_3
??ADC_SoftwareStartConvCmd_2:
        LDR      R0,[R4, #+8]
        MVNS     R1,#+5242880
        ANDS     R1,R1,R0
        STR      R1,[R4, #+8]
??ADC_SoftwareStartConvCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_SoftwareStartConvCmd_1:
        DC32     0x1a7

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetSoftwareStartConvStatus:
        MOVS     R1,R0
        MOVS     R0,#+0
        LDR      R1,[R1, #+8]
        LSLS     R1,R1,#+9
        BPL.N    ??ADC_GetSoftwareStartConvStatus_0
        MOVS     R0,#+1
        B.N      ??ADC_GetSoftwareStartConvStatus_1
??ADC_GetSoftwareStartConvStatus_0:
        MOVS     R0,#+0
??ADC_GetSoftwareStartConvStatus_1:
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_DiscModeChannelCountConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        MOVS     R1,#+0
        CMP      R5,#+1
        BCC.N    ??ADC_DiscModeChannelCountConfig_0
        CMP      R5,#+9
        BCC.N    ??ADC_DiscModeChannelCountConfig_1
??ADC_DiscModeChannelCountConfig_0:
        LDR.N    R1,??ADC_DiscModeChannelCountConfig_2  ;; 0x1e1
        LDR.N    R0,??DataTable13  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_DiscModeChannelCountConfig_1:
        LDR      R0,[R4, #+4]
        MOVS     R1,R0
        MVNS     R0,#+57344
        ANDS     R0,R0,R1
        SUBS     R5,R5,#+1
        MOVS     R1,R5
        LSLS     R1,R1,#+24       ;; ZeroExtS R1,R1,#+24,#+24
        LSRS     R1,R1,#+24
        ORRS     R0,R0,R1, LSL #+13
        STR      R0,[R4, #+4]
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_DiscModeChannelCountConfig_2:
        DC32     0x1e1

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_DiscModeCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_DiscModeCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_DiscModeCmd_0
        MOVS     R1,#+508
        LDR.N    R0,??DataTable13  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_DiscModeCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_DiscModeCmd_1
        LDR      R0,[R4, #+4]
        ORRS     R0,R0,#0x800
        STR      R0,[R4, #+4]
        B.N      ??ADC_DiscModeCmd_2
??ADC_DiscModeCmd_1:
        LDR      R0,[R4, #+4]
        MVNS     R1,#+2048
        ANDS     R1,R1,R0
        STR      R1,[R4, #+4]
??ADC_DiscModeCmd_2:
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable13:
        DC32     `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_RegularChannelConfig:
        PUSH     {R4-R7,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R7,R3
        MOVS     R0,#+0
        MOVS     R1,#+0
        CMP      R5,#+0
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+1
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+2
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+3
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+4
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+5
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+6
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+7
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+8
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+9
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+10
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+11
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+12
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+13
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+14
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+15
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+16
        BEQ.N    ??ADC_RegularChannelConfig_0
        CMP      R5,#+17
        BEQ.N    ??ADC_RegularChannelConfig_0
        MOVS     R1,#+568
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_RegularChannelConfig_0:
        CMP      R6,#+1
        BCC.N    ??ADC_RegularChannelConfig_1
        CMP      R6,#+17
        BCC.N    ??ADC_RegularChannelConfig_2
??ADC_RegularChannelConfig_1:
        LDR.N    R1,??ADC_RegularChannelConfig_3  ;; 0x239
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_RegularChannelConfig_2:
        CMP      R7,#+0
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+1
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+2
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+3
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+4
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+5
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+6
        BEQ.N    ??ADC_RegularChannelConfig_4
        CMP      R7,#+7
        BEQ.N    ??ADC_RegularChannelConfig_4
        LDR.N    R1,??ADC_RegularChannelConfig_3+0x4  ;; 0x23a
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_RegularChannelConfig_4:
        CMP      R5,#+10
        BCC.N    ??ADC_RegularChannelConfig_5
        LDR      R0,[R4, #+12]
        MOVS     R1,#+7
        MOVS     R3,R5
        ADDS     R3,R3,#+246
        MOVS     R2,#+3
        MULS     R3,R2,R3
        LSLS     R1,R1,R3
        BICS     R0,R0,R1
        MOVS     R1,R5
        ADDS     R1,R1,#+246
        MOVS     R2,#+3
        MULS     R1,R2,R1
        LSLS     R7,R7,R1
        MOVS     R1,R7
        MOVS     R2,R0
        MOVS     R0,R1
        ORRS     R0,R0,R2
        STR      R0,[R4, #+12]
        B.N      ??ADC_RegularChannelConfig_6
??ADC_RegularChannelConfig_5:
        LDR      R0,[R4, #+16]
        MOVS     R1,#+7
        MOVS     R2,#+3
        MULS     R2,R5,R2
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        MOVS     R1,#+3
        MULS     R1,R5,R1
        LSLS     R7,R7,R1
        MOVS     R1,R7
        MOVS     R2,R0
        MOVS     R0,R1
        ORRS     R0,R0,R2
        STR      R0,[R4, #+16]
??ADC_RegularChannelConfig_6:
        CMP      R6,#+7
        BCS.N    ??ADC_RegularChannelConfig_7
        LDR      R0,[R4, #+52]
        MOVS     R1,#+31
        MOVS     R2,R6
        SUBS     R2,R2,#+1
        MOVS     R3,#+5
        MULS     R2,R3,R2
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        SUBS     R6,R6,#+1
        MOVS     R1,#+5
        MULS     R6,R1,R6
        LSLS     R5,R5,R6
        MOVS     R1,R5
        MOVS     R2,R0
        MOVS     R0,R1
        ORRS     R0,R0,R2
        STR      R0,[R4, #+52]
        B.N      ??ADC_RegularChannelConfig_8
??ADC_RegularChannelConfig_7:
        CMP      R6,#+13
        BCS.N    ??ADC_RegularChannelConfig_9
        LDR      R0,[R4, #+48]
        MOVS     R1,#+31
        MOVS     R2,R6
        ADDS     R2,R2,#+249
        MOVS     R3,#+5
        MULS     R2,R3,R2
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        ADDS     R6,R6,#+249
        MOVS     R1,#+5
        MULS     R6,R1,R6
        LSLS     R5,R5,R6
        MOVS     R1,R5
        MOVS     R2,R0
        MOVS     R0,R1
        ORRS     R0,R0,R2
        STR      R0,[R4, #+48]
        B.N      ??ADC_RegularChannelConfig_8
??ADC_RegularChannelConfig_9:
        LDR      R0,[R4, #+44]
        MOVS     R1,#+31
        MOVS     R2,R6
        ADDS     R2,R2,#+243
        MOVS     R3,#+5
        MULS     R2,R3,R2
        LSLS     R1,R1,R2
        BICS     R0,R0,R1
        ADDS     R6,R6,#+243
        MOVS     R1,#+5
        MULS     R6,R1,R6
        LSLS     R5,R5,R6
        MOVS     R1,R5
        MOVS     R2,R0
        MOVS     R0,R1
        ORRS     R0,R0,R2
        STR      R0,[R4, #+44]
??ADC_RegularChannelConfig_8:
        POP      {R4-R7,PC}       ;; return
        Nop      
        DATA
??ADC_RegularChannelConfig_3:
        DC32     0x239
        DC32     0x23a

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ExternalTrigConvCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_ExternalTrigConvCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_ExternalTrigConvCmd_0
        LDR.N    R1,??ADC_ExternalTrigConvCmd_1  ;; 0x29a
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ExternalTrigConvCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_ExternalTrigConvCmd_2
        LDR      R0,[R4, #+8]
        ORRS     R0,R0,#0x100000
        STR      R0,[R4, #+8]
        B.N      ??ADC_ExternalTrigConvCmd_3
??ADC_ExternalTrigConvCmd_2:
        LDR      R0,[R4, #+8]
        MVNS     R1,#+1048576
        ANDS     R1,R1,R0
        STR      R1,[R4, #+8]
??ADC_ExternalTrigConvCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA

⌨️ 快捷键说明

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