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

📄 stm32f10x_can.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 5 页
字号:
??CAN_ClearFlag_0:
        LDR.N    R0,??DataTable144  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable144  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+24]
        BICS     R1,R1,R4
        STR      R1,[R0, #+24]
        POP      {R4,PC}          ;; return
        DATA
??CAN_ClearFlag_1:
        DC32     0x2e1

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

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
CAN_GetITStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+5
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+6
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+7
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+4
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+8
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+32
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+64
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+256
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+512
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+1024
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+65536
        BEQ.N    ??CAN_GetITStatus_0
        CMP      R4,#+131072
        BEQ.N    ??CAN_GetITStatus_0
        MOVS     R1,#+760
        LDR.N    R0,??DataTable158  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_GetITStatus_0:
        SUBS     R4,R4,#+4
        BEQ.N    ??CAN_GetITStatus_1
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_GetITStatus_2
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_GetITStatus_3
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_GetITStatus_4
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_GetITStatus_5
        SUBS     R4,R4,#+24
        BEQ.N    ??CAN_GetITStatus_6
        SUBS     R4,R4,#+32
        BEQ.N    ??CAN_GetITStatus_7
        SUBS     R4,R4,#+192
        BEQ.N    ??CAN_GetITStatus_8
        MOVS     R0,#+256
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_GetITStatus_9
        MOVS     R0,#+512
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_GetITStatus_10
        MOVS     R0,#+64512
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_GetITStatus_11
        MOVS     R0,#+65536
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_GetITStatus_12
        B.N      ??CAN_GetITStatus_13
??CAN_GetITStatus_2:
        MOVS     R1,#+1
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+8]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_3:
        MOVS     R1,#+256
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+8]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_4:
        MOVS     R1,#+65536
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+8]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_1:
        MOVS     R1,#+8
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+12]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_5:
        MOVS     R1,#+16
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+12]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_6:
        MOVS     R1,#+8
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+16]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_7:
        MOVS     R1,#+16
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+16]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_8:
        MOVS     R1,#+1
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+24]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_9:
        MOVS     R1,#+2
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+24]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_10:
        MOVS     R1,#+4
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+24]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_12:
        MOVS     R1,#+16
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+4]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_11:
        MOVS     R1,#+8
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+4]
        BL       CheckITStatus
        B.N      ??CAN_GetITStatus_14
??CAN_GetITStatus_13:
        MOVS     R0,#+0
??CAN_GetITStatus_14:
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
CAN_ClearITPendingBit:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+5
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+6
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+7
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+4
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+8
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+32
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+64
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+256
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+512
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+1024
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+65536
        BEQ.N    ??CAN_ClearITPendingBit_0
        CMP      R4,#+131072
        BEQ.N    ??CAN_ClearITPendingBit_0
        MOVS     R1,#+820
        LDR.N    R0,??DataTable158  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??CAN_ClearITPendingBit_0:
        SUBS     R4,R4,#+4
        BEQ.N    ??CAN_ClearITPendingBit_1
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_ClearITPendingBit_2
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_ClearITPendingBit_3
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_ClearITPendingBit_4
        SUBS     R4,R4,#+1
        BEQ.N    ??CAN_ClearITPendingBit_5
        SUBS     R4,R4,#+24
        BEQ.N    ??CAN_ClearITPendingBit_6
        SUBS     R4,R4,#+32
        BEQ.N    ??CAN_ClearITPendingBit_7
        SUBS     R4,R4,#+192
        BEQ.N    ??CAN_ClearITPendingBit_8
        MOVS     R0,#+256
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_ClearITPendingBit_9
        MOVS     R0,#+512
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_ClearITPendingBit_10
        MOVS     R0,#+64512
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_ClearITPendingBit_11
        MOVS     R0,#+65536
        SUBS     R4,R4,R0
        BEQ.N    ??CAN_ClearITPendingBit_12
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_2:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+1
        STR      R1,[R0, #+8]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_3:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+256
        STR      R1,[R0, #+8]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_4:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+65536
        STR      R1,[R0, #+8]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_1:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+8
        STR      R1,[R0, #+12]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_5:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+16
        STR      R1,[R0, #+12]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_6:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+8
        STR      R1,[R0, #+16]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_7:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+16
        STR      R1,[R0, #+16]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_8:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable173  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+24]
        MOVS     R2,#+1
        BICS     R1,R1,R2
        STR      R1,[R0, #+24]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_9:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable173  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+24]
        MOVS     R2,#+2
        BICS     R1,R1,R2
        STR      R1,[R0, #+24]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_10:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable173  ;; CAN
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+24]
        MOVS     R2,#+4
        BICS     R1,R1,R2
        STR      R1,[R0, #+24]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_11:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+8
        STR      R1,[R0, #+4]
        B.N      ??CAN_ClearITPendingBit_13
??CAN_ClearITPendingBit_12:
        LDR.N    R0,??DataTable173  ;; CAN
        LDR      R0,[R0, #+0]
        MOVS     R1,#+16
        STR      R1,[R0, #+4]
??CAN_ClearITPendingBit_13:
        POP      {R4,PC}          ;; return

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

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
CheckITStatus:
        MOVS     R2,R0
        MOVS     R0,#+0
        ANDS     R1,R1,R2
        CMP      R1,#+0
        BEQ.N    ??CheckITStatus_0
        MOVS     R0,#+1
        B.N      ??CheckITStatus_1
??CheckITStatus_0:
        MOVS     R0,#+0
??CheckITStatus_1:
        BX       LR               ;; return

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

        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, 63H, 61H, 6EH, 2EH, 63H, 0

        END
// 
// 3 340 bytes in segment CODE
//    88 bytes in segment DATA_C
// 
// 3 324 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 + -