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

📄 stm32f10x_can.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 5 页
字号:
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x80
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_16
??CAN_Init_15:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+128
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_16:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+1
        BNE.N    ??CAN_Init_17
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x40
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_18
??CAN_Init_17:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+64
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_18:
        LDRB     R0,[R4, #+2]
        CMP      R0,#+1
        BNE.N    ??CAN_Init_19
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x20
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_20
??CAN_Init_19:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+32
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_20:
        LDRB     R0,[R4, #+3]
        CMP      R0,#+1
        BNE.N    ??CAN_Init_21
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x10
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_22
??CAN_Init_21:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+16
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_22:
        LDRB     R0,[R4, #+4]
        CMP      R0,#+1
        BNE.N    ??CAN_Init_23
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x8
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_24
??CAN_Init_23:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+8
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_24:
        LDRB     R0,[R4, #+5]
        CMP      R0,#+1
        BNE.N    ??CAN_Init_25
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x4
        STR      R1,[R0, #+0]
        B.N      ??CAN_Init_26
??CAN_Init_25:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        MOVS     R2,#+4
        BICS     R1,R1,R2
        STR      R1,[R0, #+0]
??CAN_Init_26:
        LDR.N    R0,??DataTable40  ;; CAN
        LDR      R0,[R0, #+0]
        LDRB     R1,[R4, #+6]
        LDRB     R2,[R4, #+7]
        LSLS     R2,R2,#+24
        ORRS     R1,R2,R1, LSL #+30
        LDRB     R2,[R4, #+8]
        ORRS     R1,R1,R2, LSL #+16
        LDRB     R2,[R4, #+9]
        ORRS     R1,R1,R2, LSL #+20
        LDRH     R2,[R4, #+10]
        SUBS     R2,R2,#+1
        ORRS     R2,R2,R1
        STR      R2,[R0, #+28]
        MOVS     R0,#+1
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable40  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+0]
        MOVS     R3,#+1
        BICS     R2,R2,R3
        STR      R2,[R1, #+0]
        LDR.N    R1,??DataTable40  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+4]
        LSLS     R1,R1,#+31
        BMI.N    ??CAN_Init_14
        MOVS     R0,#+0
??CAN_Init_14:
        POP      {R4,PC}          ;; return
        DATA
??CAN_Init_11:
        DC32     0x401

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

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable40:
        DC32     CAN

        RSEG CODE:CODE:NOROOT(2)
        THUMB
CAN_FilterInit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        LDRB     R1,[R4, #+0]
        CMP      R1,#+14
        BCC.N    ??CAN_FilterInit_0
        MOVS     R1,#+233
        LDR.N    R0,??DataTable71  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_FilterInit_0:
        LDRB     R0,[R4, #+1]
        CMP      R0,#+0
        BEQ.N    ??CAN_FilterInit_1
        LDRB     R0,[R4, #+1]
        CMP      R0,#+1
        BEQ.N    ??CAN_FilterInit_1
        MOVS     R1,#+234
        LDR.N    R0,??DataTable71  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_FilterInit_1:
        LDRB     R0,[R4, #+2]
        CMP      R0,#+0
        BEQ.N    ??CAN_FilterInit_2
        LDRB     R0,[R4, #+2]
        CMP      R0,#+1
        BEQ.N    ??CAN_FilterInit_2
        MOVS     R1,#+235
        LDR.N    R0,??DataTable71  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_FilterInit_2:
        LDRH     R0,[R4, #+12]
        CMP      R0,#+0
        BEQ.N    ??CAN_FilterInit_3
        LDRH     R0,[R4, #+12]
        CMP      R0,#+1
        BEQ.N    ??CAN_FilterInit_3
        MOVS     R1,#+236
        LDR.N    R0,??DataTable71  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_FilterInit_3:
        LDRB     R0,[R4, #+14]
        CMP      R0,#+0
        BEQ.N    ??CAN_FilterInit_4
        LDRB     R0,[R4, #+14]
        CMP      R0,#+1
        BEQ.N    ??CAN_FilterInit_4
        MOVS     R1,#+237
        LDR.N    R0,??DataTable71  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_FilterInit_4:
        MOVS     R0,#+1
        LDRB     R1,[R4, #+0]
        LSLS     R0,R0,R1
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+512]
        ORRS     R2,R2,#0x1
        STR      R2,[R1, #+512]
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+540]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BICS     R2,R2,R0
        STR      R2,[R1, #+540]
        LDRB     R1,[R4, #+2]
        CMP      R1,#+0
        BNE.N    ??CAN_FilterInit_5
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+524]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BICS     R2,R2,R0
        STR      R2,[R1, #+524]
        LDRB     R1,[R4, #+0]
        MOVS     R2,#+8
        LDR.N    R3,??DataTable75  ;; CAN
        LDR      R3,[R3, #+0]
        MLA      R1,R1,R2,R3
        LDRH     R2,[R4, #+10]
        LSLS     R2,R2,#+16
        LDRH     R3,[R4, #+6]
        ORRS     R3,R3,R2
        STR      R3,[R1, #+576]
        LDRB     R1,[R4, #+0]
        MOVS     R2,#+8
        LDR.N    R3,??DataTable75  ;; CAN
        LDR      R3,[R3, #+0]
        MLA      R1,R1,R2,R3
        LDRH     R2,[R4, #+8]
        LSLS     R2,R2,#+16
        LDRH     R3,[R4, #+4]
        ORRS     R3,R3,R2
        STR      R3,[R1, #+580]
??CAN_FilterInit_5:
        LDRB     R1,[R4, #+2]
        CMP      R1,#+1
        BNE.N    ??CAN_FilterInit_6
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+524]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        ORRS     R2,R2,R0
        STR      R2,[R1, #+524]
        LDRB     R1,[R4, #+0]
        MOVS     R2,#+8
        LDR.N    R3,??DataTable75  ;; CAN
        LDR      R3,[R3, #+0]
        MLA      R1,R1,R2,R3
        LDRH     R2,[R4, #+4]
        LSLS     R2,R2,#+16
        LDRH     R3,[R4, #+6]
        ORRS     R3,R3,R2
        STR      R3,[R1, #+576]
        LDRB     R1,[R4, #+0]
        MOVS     R2,#+8
        LDR.N    R3,??DataTable75  ;; CAN
        LDR      R3,[R3, #+0]
        MLA      R1,R1,R2,R3
        LDRH     R2,[R4, #+8]
        LSLS     R2,R2,#+16
        LDRH     R3,[R4, #+10]
        ORRS     R3,R3,R2
        STR      R3,[R1, #+580]
??CAN_FilterInit_6:
        LDRB     R1,[R4, #+1]
        CMP      R1,#+0
        BNE.N    ??CAN_FilterInit_7
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+516]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BICS     R2,R2,R0
        STR      R2,[R1, #+516]
        B.N      ??CAN_FilterInit_8
??CAN_FilterInit_7:
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+516]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        ORRS     R2,R2,R0
        STR      R2,[R1, #+516]
??CAN_FilterInit_8:
        LDRH     R1,[R4, #+12]
        CMP      R1,#+0
        BNE.N    ??CAN_FilterInit_9
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+532]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        BICS     R2,R2,R0
        STR      R2,[R1, #+532]
??CAN_FilterInit_9:
        LDRH     R1,[R4, #+12]
        CMP      R1,#+1
        BNE.N    ??CAN_FilterInit_10
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+532]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        ORRS     R2,R2,R0
        STR      R2,[R1, #+532]
??CAN_FilterInit_10:
        LDRB     R1,[R4, #+14]
        CMP      R1,#+1
        BNE.N    ??CAN_FilterInit_11
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR.N    R2,??DataTable75  ;; CAN
        LDR      R2,[R2, #+0]
        LDR      R2,[R2, #+540]
        LSLS     R0,R0,#+16       ;; ZeroExtS R0,R0,#+16,#+16
        LSRS     R0,R0,#+16
        ORRS     R0,R0,R2
        STR      R0,[R1, #+540]
??CAN_FilterInit_11:
        LDR.N    R0,??DataTable75  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable75  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+512]
        MOVS     R2,#+1
        BICS     R1,R1,R2
        STR      R1,[R0, #+512]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
CAN_StructInit:
        MOVS     R1,#+0
        STRB     R1,[R0, #+0]
        MOVS     R1,#+0
        STRB     R1,[R0, #+1]
        MOVS     R1,#+0
        STRB     R1,[R0, #+2]
        MOVS     R1,#+0
        STRB     R1,[R0, #+3]
        MOVS     R1,#+0
        STRB     R1,[R0, #+4]
        MOVS     R1,#+0
        STRB     R1,[R0, #+5]
        MOVS     R1,#+0
        STRB     R1,[R0, #+6]
        MOVS     R1,#+0
        STRB     R1,[R0, #+7]

⌨️ 快捷键说明

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