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

📄 stm32f10x_adc.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 4 页
字号:
        _BLF     assert_failed,??assert_failed??rT
??ADC_SetInjectedOffset_2:
        STR      R6,[R4, R5]
        POP      {R4-R6,PC}       ;; return
        DATA
??ADC_SetInjectedOffset_1:
        DC32     0x40b
        DC32     0x40c

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetInjectedConversionValue:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+20
        BEQ.N    ??ADC_GetInjectedConversionValue_0
        CMP      R5,#+24
        BEQ.N    ??ADC_GetInjectedConversionValue_0
        CMP      R5,#+28
        BEQ.N    ??ADC_GetInjectedConversionValue_0
        CMP      R5,#+32
        BEQ.N    ??ADC_GetInjectedConversionValue_0
        LDR.N    R1,??ADC_GetInjectedConversionValue_1  ;; 0x422
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_GetInjectedConversionValue_0:
        ADDS     R0,R4,R5
        LDR      R0,[R0, #+40]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_GetInjectedConversionValue_1:
        DC32     0x422

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_AnalogWatchdogCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        LDR.N    R1,??ADC_AnalogWatchdogCmd_0  ;; 0x800200
        CMP      R5,R1
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        LDR.N    R0,??ADC_AnalogWatchdogCmd_0+0x4  ;; 0x400200
        CMP      R5,R0
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        LDR.N    R0,??ADC_AnalogWatchdogCmd_0+0x8  ;; 0xc00200
        CMP      R5,R0
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        CMP      R5,#+8388608
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        CMP      R5,#+4194304
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        CMP      R5,#+12582912
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        CMP      R5,#+0
        BEQ.N    ??ADC_AnalogWatchdogCmd_1
        LDR.N    R1,??ADC_AnalogWatchdogCmd_0+0xC  ;; 0x445
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_AnalogWatchdogCmd_1:
        LDR      R0,[R4, #+4]
        MOVS     R1,R0
        LDR.N    R0,??ADC_AnalogWatchdogCmd_0+0x10  ;; 0xffffffffff3ffdff
        ANDS     R0,R0,R1
        ORRS     R5,R5,R0
        MOVS     R0,R5
        STR      R0,[R4, #+4]
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_AnalogWatchdogCmd_0:
        DC32     0x800200
        DC32     0x400200
        DC32     0xc00200
        DC32     0x445
        DC32     0xffffffffff3ffdff

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_AnalogWatchdogThresholdsConfig:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R0,#+4096
        CMP      R5,R0
        BCC.N    ??ADC_AnalogWatchdogThresholdsConfig_0
        MOVS     R1,#+1120
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_AnalogWatchdogThresholdsConfig_0:
        MOVS     R0,#+4096
        CMP      R6,R0
        BCC.N    ??ADC_AnalogWatchdogThresholdsConfig_1
        LDR.N    R1,??ADC_AnalogWatchdogThresholdsConfig_2  ;; 0x461
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_AnalogWatchdogThresholdsConfig_1:
        STR      R5,[R4, #+36]
        STR      R6,[R4, #+40]
        POP      {R4-R6,PC}       ;; return
        DATA
??ADC_AnalogWatchdogThresholdsConfig_2:
        DC32     0x461

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_AnalogWatchdogSingleChannelConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        CMP      R5,#+0
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+1
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+2
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+3
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+4
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+5
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+6
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+7
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+8
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+9
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+10
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+11
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+12
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+13
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+14
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+15
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+16
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        CMP      R5,#+17
        BEQ.N    ??ADC_AnalogWatchdogSingleChannelConfig_0
        LDR.N    R1,??ADC_AnalogWatchdogSingleChannelConfig_1  ;; 0x48a
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_AnalogWatchdogSingleChannelConfig_0:
        LDR      R0,[R4, #+4]
        MOVS     R1,#+31
        BICS     R0,R0,R1
        ORRS     R5,R5,R0
        MOVS     R0,R5
        STR      R0,[R4, #+4]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??ADC_AnalogWatchdogSingleChannelConfig_1:
        DC32     0x48a

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_TempSensorVrefintCmd:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+0
        BEQ.N    ??ADC_TempSensorVrefintCmd_0
        CMP      R4,#+1
        BEQ.N    ??ADC_TempSensorVrefintCmd_0
        LDR.N    R1,??ADC_TempSensorVrefintCmd_1  ;; 0x4a1
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_TempSensorVrefintCmd_0:
        CMP      R4,#+0
        BEQ.N    ??ADC_TempSensorVrefintCmd_2
        LDR.N    R0,??DataTable39  ;; ADC1
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable39  ;; ADC1
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+8]
        ORRS     R1,R1,#0x800000
        STR      R1,[R0, #+8]
        B.N      ??ADC_TempSensorVrefintCmd_3
??ADC_TempSensorVrefintCmd_2:
        LDR.N    R0,??DataTable39  ;; ADC1
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable39  ;; ADC1
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+8]
        MVNS     R2,#+8388608
        ANDS     R2,R2,R1
        STR      R2,[R0, #+8]
??ADC_TempSensorVrefintCmd_3:
        POP      {R4,PC}          ;; return
        Nop      
        DATA
??ADC_TempSensorVrefintCmd_1:
        DC32     0x4a1

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable39:
        DC32     ADC1

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetFlagStatus:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        CMP      R5,#+1
        BEQ.N    ??ADC_GetFlagStatus_0
        CMP      R5,#+2
        BEQ.N    ??ADC_GetFlagStatus_0
        CMP      R5,#+4
        BEQ.N    ??ADC_GetFlagStatus_0
        CMP      R5,#+8
        BEQ.N    ??ADC_GetFlagStatus_0
        CMP      R5,#+16
        BEQ.N    ??ADC_GetFlagStatus_0
        LDR.N    R1,??ADC_GetFlagStatus_1  ;; 0x4c2
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_GetFlagStatus_0:
        LDR      R0,[R4, #+0]
        TST      R0,R5
        BEQ.N    ??ADC_GetFlagStatus_2
        MOVS     R0,#+1
        B.N      ??ADC_GetFlagStatus_3
??ADC_GetFlagStatus_2:
        MOVS     R0,#+0
??ADC_GetFlagStatus_3:
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??ADC_GetFlagStatus_1:
        DC32     0x4c2

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ClearFlag:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        TST      R5,#0xE0
        BNE.N    ??ADC_ClearFlag_0
        CMP      R5,#+0
        BNE.N    ??ADC_ClearFlag_1
??ADC_ClearFlag_0:
        LDR.N    R1,??ADC_ClearFlag_2  ;; 0x4e4
        LDR.N    R0,??DataTable44  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ClearFlag_1:
        LDR      R0,[R4, #+0]
        BICS     R0,R0,R5
        STR      R0,[R4, #+0]
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_ClearFlag_2:
        DC32     0x4e4

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetITStatus:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        MOVS     R1,#+0
        MOVS     R2,#+544
        CMP      R5,R2
        BEQ.N    ??ADC_GetITStatus_0
        MOVS     R0,#+320
        CMP      R5,R0
        BEQ.N    ??ADC_GetITStatus_0
        MOVS     R0,#+1152
        CMP      R5,R0
        BEQ.N    ??ADC_GetITStatus_0
        LDR.N    R1,??ADC_GetITStatus_1  ;; 0x4fc
        LDR.N    R0,??DataTable44  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_GetITStatus_0:
        MOVS     R1,R5
        LSLS     R1,R1,#+16       ;; ZeroExtS R1,R1,#+16,#+16
        LSRS     R1,R1,#+16
        LSRS     R1,R1,#+8
        LDR      R0,[R4, #+4]
        ANDS     R5,R5,R0
        LDR      R0,[R4, #+0]
        TST      R0,R1
        BEQ.N    ??ADC_GetITStatus_2
        LSLS     R5,R5,#+24       ;; ZeroExtS R5,R5,#+24,#+24
        LSRS     R5,R5,#+24
        CMP      R5,#+0
        BEQ.N    ??ADC_GetITStatus_2
        MOVS     R0,#+1
        B.N      ??ADC_GetITStatus_3
??ADC_GetITStatus_2:
        MOVS     R0,#+0
??ADC_GetITStatus_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_GetITStatus_1:
        DC32     0x4fc

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ClearITPendingBit:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        LDR.N    R1,??DataTable43  ;; 0xf81f
        TST      R5,R1
        BNE.N    ??ADC_ClearITPendingBit_0
        CMP      R5,#+0
        BNE.N    ??ADC_ClearITPendingBit_1
??ADC_ClearITPendingBit_0:
        LDR.N    R1,??ADC_ClearITPendingBit_2  ;; 0x523
        LDR.N    R0,??DataTable44  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ClearITPendingBit_1:
        MOVS     R0,R5
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        LSRS     R0,R0,#+8
        LDR      R1,[R4, #+0]
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        BICS     R1,R1,R0
        STR      R1,[R4, #+0]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??ADC_ClearITPendingBit_2:
        DC32     0x523

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

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
??RCC_APB2PeriphResetCmd??rT:
        LDR.N    R3,??Subroutine0_0  ;; RCC_APB2PeriphResetCmd
        BX       R3
        DATA
??Subroutine0_0:
        DC32     RCC_APB2PeriphResetCmd

        RSEG CODE:CODE:NOROOT(2)
        THUMB
??assert_failed??rT:
        LDR.N    R3,??Subroutine1_0  ;; assert_failed
        BX       R3
        DATA
??Subroutine1_0:
        DC32     assert_failed

        RSEG DATA_C:CONST:SORT:NOROOT(2)
`?<Constant "C:\\\\David JIANG\\\\ST MCU...">`:
        DATA
        DC8 43H, 3AH, 5CH, 44H, 61H, 76H, 69H, 64H
        DC8 20H, 4AH, 49H, 41H, 4EH, 47H, 5CH, 53H
        DC8 54H, 20H, 4DH, 43H, 55H, 5CH, 44H, 6FH
        DC8 63H, 73H, 5CH, 53H, 54H, 4DH, 33H, 32H
        DC8 5CH, 41H, 4EH, 5FH, 4AH, 49H, 41H, 4EH
        DC8 47H, 5CH, 54H, 49H, 4DH, 20H, 45H, 6EH
        DC8 63H, 6FH, 64H, 65H, 72H, 5CH, 65H, 78H
        DC8 61H, 6DH, 70H, 6CH, 65H, 5CH, 46H, 57H
        DC8 4CH, 69H, 62H, 5CH, 73H, 72H, 63H, 5CH
        DC8 73H, 74H, 6DH, 33H, 32H, 66H, 31H, 30H
        DC8 78H, 5FH, 61H, 64H, 63H, 2EH, 63H, 0

        END
// 
// 2 604 bytes in segment CODE
//    88 bytes in segment DATA_C
// 
// 2 588 bytes of CODE  memory (+ 16 bytes shared)
//    88 bytes of CONST memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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