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

📄 stm32f10x_adc.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 4 页
字号:
??ADC_ExternalTrigConvCmd_1:
        DC32     0x29a

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetConversionValue:
        LDR      R0,[R0, #+76]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetDualModeConversionValue:
        LDR.N    R0,??DataTable18  ;; ADC1
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+76]
        BX       LR               ;; return

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_AutoInjectedConvCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_AutoInjectedConvCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_AutoInjectedConvCmd_0
        LDR.N    R1,??ADC_AutoInjectedConvCmd_1  ;; 0x2cf
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_AutoInjectedConvCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_AutoInjectedConvCmd_2
        LDR      R0,[R4, #+4]
        ORRS     R0,R0,#0x400
        STR      R0,[R4, #+4]
        B.N      ??ADC_AutoInjectedConvCmd_3
??ADC_AutoInjectedConvCmd_2:
        LDR      R0,[R4, #+4]
        MVNS     R1,#+1024
        ANDS     R1,R1,R0
        STR      R1,[R4, #+4]
??ADC_AutoInjectedConvCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_AutoInjectedConvCmd_1:
        DC32     0x2cf

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_InjectedDiscModeCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_InjectedDiscModeCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_InjectedDiscModeCmd_0
        LDR.N    R1,??ADC_InjectedDiscModeCmd_1  ;; 0x2eb
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_InjectedDiscModeCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_InjectedDiscModeCmd_2
        LDR      R0,[R4, #+4]
        ORRS     R0,R0,#0x1000
        STR      R0,[R4, #+4]
        B.N      ??ADC_InjectedDiscModeCmd_3
??ADC_InjectedDiscModeCmd_2:
        LDR      R0,[R4, #+4]
        MVNS     R1,#+4096
        ANDS     R1,R1,R0
        STR      R1,[R4, #+4]
??ADC_InjectedDiscModeCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_InjectedDiscModeCmd_1:
        DC32     0x2eb

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ExternalTrigInjectedConvConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        CMP      R5,#+0
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+4096
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+8192
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+12288
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+16384
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+20480
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+24576
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        CMP      R5,#+28672
        BEQ.N    ??ADC_ExternalTrigInjectedConvConfig_0
        MOVS     R1,#+792
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ExternalTrigInjectedConvConfig_0:
        LDR      R0,[R4, #+8]
        MOVS     R1,R0
        MVNS     R0,#+28672
        ANDS     R0,R0,R1
        ORRS     R5,R5,R0
        MOVS     R0,R5
        STR      R0,[R4, #+8]
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_ExternalTrigInjectedConvCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_ExternalTrigInjectedConvCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_ExternalTrigInjectedConvCmd_0
        LDR.N    R1,??ADC_ExternalTrigInjectedConvCmd_1  ;; 0x332
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_ExternalTrigInjectedConvCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_ExternalTrigInjectedConvCmd_2
        LDR      R0,[R4, #+8]
        ORRS     R0,R0,#0x8000
        STR      R0,[R4, #+8]
        B.N      ??ADC_ExternalTrigInjectedConvCmd_3
??ADC_ExternalTrigInjectedConvCmd_2:
        LDR      R0,[R4, #+8]
        MVNS     R1,#+32768
        ANDS     R1,R1,R0
        STR      R1,[R4, #+8]
??ADC_ExternalTrigInjectedConvCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_ExternalTrigInjectedConvCmd_1:
        DC32     0x332

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_SoftwareStartInjectedConvCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??ADC_SoftwareStartInjectedConvCmd_0
        CMP      R5,#+1
        BEQ.N    ??ADC_SoftwareStartInjectedConvCmd_0
        LDR.N    R1,??ADC_SoftwareStartInjectedConvCmd_1  ;; 0x34e
        LDR.N    R0,??DataTable23  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_SoftwareStartInjectedConvCmd_0:
        CMP      R5,#+0
        BEQ.N    ??ADC_SoftwareStartInjectedConvCmd_2
        LDR      R0,[R4, #+8]
        ORRS     R0,R0,#0x208000
        STR      R0,[R4, #+8]
        B.N      ??ADC_SoftwareStartInjectedConvCmd_3
??ADC_SoftwareStartInjectedConvCmd_2:
        LDR      R0,[R4, #+8]
        MVNS     R1,#+2129920
        ANDS     R1,R1,R0
        STR      R1,[R4, #+8]
??ADC_SoftwareStartInjectedConvCmd_3:
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_SoftwareStartInjectedConvCmd_1:
        DC32     0x34e

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_GetSoftwareStartInjectedConvCmdStatus:
        MOVS     R1,R0
        MOVS     R0,#+0
        LDR      R1,[R1, #+8]
        LSLS     R1,R1,#+10
        BPL.N    ??ADC_GetSoftwareStartInjectedConvCmdStatus_0
        MOVS     R0,#+1
        B.N      ??ADC_GetSoftwareStartInjectedConvCmdStatus_1
??ADC_GetSoftwareStartInjectedConvCmdStatus_0:
        MOVS     R0,#+0
??ADC_GetSoftwareStartInjectedConvCmdStatus_1:
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_InjectedChannelConfig:
        PUSH     {R4-R7,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R7,R3
        MOVS     R1,#+0
        MOVS     R0,#+0
        MOVS     R2,#+0
        CMP      R5,#+0
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+1
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+2
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+3
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+4
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+5
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+6
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+7
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+8
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+9
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+10
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+11
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+12
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+13
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+14
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+15
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+16
        BEQ.N    ??ADC_InjectedChannelConfig_0
        CMP      R5,#+17
        BEQ.N    ??ADC_InjectedChannelConfig_0
        LDR.N    R1,??ADC_InjectedChannelConfig_1  ;; 0x3a7
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_0:
        CMP      R6,#+1
        BCC.N    ??ADC_InjectedChannelConfig_2
        CMP      R6,#+5
        BCC.N    ??ADC_InjectedChannelConfig_3
??ADC_InjectedChannelConfig_2:
        MOVS     R1,#+936
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_3:
        CMP      R7,#+0
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+1
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+2
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+3
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+4
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+5
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+6
        BEQ.N    ??ADC_InjectedChannelConfig_4
        CMP      R7,#+7
        BEQ.N    ??ADC_InjectedChannelConfig_4
        LDR.N    R1,??ADC_InjectedChannelConfig_1+0x4  ;; 0x3a9
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_InjectedChannelConfig_4:
        CMP      R5,#+10
        BCC.N    ??ADC_InjectedChannelConfig_5
        LDR      R1,[R4, #+12]
        MOVS     R0,#+7
        MOVS     R2,R5
        ADDS     R2,R2,#+246
        MOVS     R3,#+3
        MULS     R2,R3,R2
        LSLS     R0,R0,R2
        BICS     R1,R1,R0
        MOVS     R0,R5
        ADDS     R0,R0,#+246
        MOVS     R2,#+3
        MULS     R0,R2,R0
        LSLS     R7,R7,R0
        MOVS     R0,R7
        MOVS     R2,R1
        MOVS     R1,R0
        ORRS     R1,R1,R2
        STR      R1,[R4, #+12]
        B.N      ??ADC_InjectedChannelConfig_6
??ADC_InjectedChannelConfig_5:
        LDR      R1,[R4, #+16]
        MOVS     R0,#+7
        MOVS     R2,#+3
        MULS     R2,R5,R2
        LSLS     R0,R0,R2
        BICS     R1,R1,R0
        MOVS     R0,#+3
        MULS     R0,R5,R0
        LSLS     R7,R7,R0
        MOVS     R0,R7
        MOVS     R2,R1
        MOVS     R1,R0
        ORRS     R1,R1,R2
        STR      R1,[R4, #+16]
??ADC_InjectedChannelConfig_6:
        LDR      R1,[R4, #+56]
        ANDS     R0,R1,#0x300000
        MOVS     R2,R0
        LSRS     R2,R2,#+20
        MOVS     R0,#+31
        MOVS     R3,R6
        ADDS     R3,R3,#+3
        SUBS     R3,R3,R2
        SUBS     R3,R3,#+1
        MOVS     R7,#+5
        MULS     R3,R7,R3
        LSLS     R0,R0,R3
        BICS     R1,R1,R0
        ADDS     R6,R6,#+3
        SUBS     R0,R6,R2
        SUBS     R0,R0,#+1
        MOVS     R2,#+5
        MULS     R0,R2,R0
        LSLS     R5,R5,R0
        MOVS     R0,R5
        MOVS     R2,R1
        MOVS     R1,R0
        ORRS     R1,R1,R2
        STR      R1,[R4, #+56]
        POP      {R4-R7,PC}       ;; return
        DATA
??ADC_InjectedChannelConfig_1:
        DC32     0x3a7
        DC32     0x3a9

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_InjectedSequencerLengthConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        MOVS     R1,#+0
        CMP      R5,#+1
        BCC.N    ??ADC_InjectedSequencerLengthConfig_0
        CMP      R5,#+5
        BCC.N    ??ADC_InjectedSequencerLengthConfig_1
??ADC_InjectedSequencerLengthConfig_0:
        LDR.N    R1,??ADC_InjectedSequencerLengthConfig_2  ;; 0x3eb
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_InjectedSequencerLengthConfig_1:
        LDR      R0,[R4, #+56]
        MOVS     R1,R0
        MVNS     R0,#+3145728
        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 #+20
        STR      R0,[R4, #+56]
        POP      {R4,R5,PC}       ;; return
        DATA
??ADC_InjectedSequencerLengthConfig_2:
        DC32     0x3eb

        RSEG CODE:CODE:NOROOT(2)
        THUMB
ADC_SetInjectedOffset:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        CMP      R5,#+20
        BEQ.N    ??ADC_SetInjectedOffset_0
        CMP      R5,#+24
        BEQ.N    ??ADC_SetInjectedOffset_0
        CMP      R5,#+28
        BEQ.N    ??ADC_SetInjectedOffset_0
        CMP      R5,#+32
        BEQ.N    ??ADC_SetInjectedOffset_0
        LDR.N    R1,??ADC_SetInjectedOffset_1  ;; 0x40b
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??ADC_SetInjectedOffset_0:
        MOVS     R0,#+4096
        CMP      R6,R0
        BCC.N    ??ADC_SetInjectedOffset_2
        LDR.N    R1,??ADC_SetInjectedOffset_1+0x4  ;; 0x40c
        LDR.N    R0,??DataTable40  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`

⌨️ 快捷键说明

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