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

📄 stm32f10x_usart.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
📖 第 1 页 / 共 3 页
字号:
        _BLF     assert_failed,??assert_failed??rT
??USART_Cmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_Cmd_1
        LDRH     R0,[R4, #+12]
        ORRS     R0,R0,#0x2000
        STRH     R0,[R4, #+12]
        B.N      ??USART_Cmd_2
??USART_Cmd_1:
        LDRH     R0,[R4, #+12]
        LDR.N    R1,??USART_Cmd_3  ;; 0xdfff
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+12]
??USART_Cmd_2:
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_Cmd_3:
        DC32     0xdfff

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_ITConfig:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        MOVS     R2,#+0
        MOVS     R3,#+0
        MOVS     R0,#+0
        MOVS     R1,#+0
        CMP      R5,#+40
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable13  ;; 0x727
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable14  ;; 0x626
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable15  ;; 0x525
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable16  ;; 0x424
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable17  ;; 0x846
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R0,??DataTable18  ;; 0x96a
        CMP      R5,R0
        BEQ.N    ??USART_ITConfig_0
        CMP      R5,#+96
        BEQ.N    ??USART_ITConfig_0
        LDR.N    R1,??USART_ITConfig_1  ;; 0x127
        LDR.N    R0,??DataTable22  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_ITConfig_0:
        CMP      R6,#+0
        BEQ.N    ??USART_ITConfig_2
        CMP      R6,#+1
        BEQ.N    ??USART_ITConfig_2
        MOVS     R1,#+296
        LDR.N    R0,??DataTable22  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_ITConfig_2:
        MOVS     R0,R5
        MOVS     R2,R0
        LSLS     R2,R2,#+24       ;; ZeroExtS R2,R2,#+24,#+24
        LSRS     R2,R2,#+24
        LSRS     R2,R2,#+5
        LSLS     R2,R2,#+24       ;; ZeroExtS R2,R2,#+24,#+24
        LSRS     R2,R2,#+24
        LSLS     R3,R5,#+27       ;; ZeroExtS R3,R5,#+27,#+27
        LSRS     R3,R3,#+27
        MOVS     R0,#+1
        LSLS     R0,R0,R3
        MOVS     R1,R4
        CMP      R2,#+1
        BNE.N    ??USART_ITConfig_3
        ADDS     R1,R1,#+12
        B.N      ??USART_ITConfig_4
??USART_ITConfig_3:
        CMP      R2,#+2
        BNE.N    ??USART_ITConfig_5
        ADDS     R1,R1,#+16
        B.N      ??USART_ITConfig_4
??USART_ITConfig_5:
        ADDS     R1,R1,#+20
??USART_ITConfig_4:
        CMP      R6,#+0
        BEQ.N    ??USART_ITConfig_6
        LDR      R2,[R1, #+0]
        ORRS     R0,R0,R2
        STR      R0,[R1, #+0]
        B.N      ??USART_ITConfig_7
??USART_ITConfig_6:
        LDR      R2,[R1, #+0]
        BICS     R2,R2,R0
        STR      R2,[R1, #+0]
??USART_ITConfig_7:
        POP      {R4-R6,PC}       ;; return
        DATA
??USART_ITConfig_1:
        DC32     0x127

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable13:
        DC32     0x727

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable14:
        DC32     0x626

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable15:
        DC32     0x525

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable16:
        DC32     0x424

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable17:
        DC32     0x846

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable18:
        DC32     0x96a

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_DMACmd:
        PUSH     {R4-R6,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
        LDR.N    R0,??USART_DMACmd_0  ;; 0xff3f
        TST      R5,R0
        BNE.N    ??USART_DMACmd_1
        CMP      R5,#+0
        BNE.N    ??USART_DMACmd_2
??USART_DMACmd_1:
        MOVS     R1,#+346
        LDR.N    R0,??DataTable22  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_DMACmd_2:
        CMP      R6,#+0
        BEQ.N    ??USART_DMACmd_3
        CMP      R6,#+1
        BEQ.N    ??USART_DMACmd_3
        LDR.N    R1,??USART_DMACmd_0+0x4  ;; 0x15b
        LDR.N    R0,??DataTable22  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_DMACmd_3:
        CMP      R6,#+0
        BEQ.N    ??USART_DMACmd_4
        LDRH     R0,[R4, #+20]
        ORRS     R5,R5,R0
        STRH     R5,[R4, #+20]
        B.N      ??USART_DMACmd_5
??USART_DMACmd_4:
        LDRH     R0,[R4, #+20]
        BICS     R0,R0,R5
        STRH     R0,[R4, #+20]
??USART_DMACmd_5:
        POP      {R4-R6,PC}       ;; return
        DATA
??USART_DMACmd_0:
        DC32     0xff3f
        DC32     0x15b

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SetAddress:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+16
        BCC.N    ??USART_SetAddress_0
        LDR.N    R1,??USART_SetAddress_1  ;; 0x177
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_SetAddress_0:
        LDRH     R0,[R4, #+16]
        LDR.N    R1,??USART_SetAddress_1+0x4  ;; 0xfff0
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+16]
        LDRH     R0,[R4, #+16]
        ORRS     R5,R5,R0
        STRH     R5,[R4, #+16]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_SetAddress_1:
        DC32     0x177
        DC32     0xfff0

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_WakeUpConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_WakeUpConfig_0
        MOVS     R0,#+2048
        CMP      R5,R0
        BEQ.N    ??USART_WakeUpConfig_0
        MOVS     R1,#+398
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_WakeUpConfig_0:
        LDRH     R0,[R4, #+12]
        LDR.N    R1,??USART_WakeUpConfig_1  ;; 0xf7ff
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+12]
        LDRH     R0,[R4, #+12]
        ORRS     R5,R5,R0
        STRH     R5,[R4, #+12]
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_WakeUpConfig_1:
        DC32     0xf7ff

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_ReceiverWakeUpCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_ReceiverWakeUpCmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_ReceiverWakeUpCmd_0
        LDR.N    R1,??USART_ReceiverWakeUpCmd_1  ;; 0x1a1
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_ReceiverWakeUpCmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_ReceiverWakeUpCmd_2
        LDRH     R0,[R4, #+12]
        ORRS     R0,R0,#0x2
        STRH     R0,[R4, #+12]
        B.N      ??USART_ReceiverWakeUpCmd_3
??USART_ReceiverWakeUpCmd_2:
        LDRH     R0,[R4, #+12]
        LDR.N    R1,??DataTable37  ;; 0xfffd
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+12]
??USART_ReceiverWakeUpCmd_3:
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_ReceiverWakeUpCmd_1:
        DC32     0x1a1

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_LINBreakDetectLengthConfig:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_LINBreakDetectLengthConfig_0
        CMP      R5,#+32
        BEQ.N    ??USART_LINBreakDetectLengthConfig_0
        LDR.N    R1,??USART_LINBreakDetectLengthConfig_1  ;; 0x1bf
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_LINBreakDetectLengthConfig_0:
        LDRH     R0,[R4, #+16]
        LDR.N    R1,??DataTable32  ;; 0xffdf
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+16]
        LDRH     R0,[R4, #+16]
        ORRS     R5,R5,R0
        STRH     R5,[R4, #+16]
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_LINBreakDetectLengthConfig_1:
        DC32     0x1bf

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_LINCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_LINCmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_LINCmd_0
        MOVS     R1,#+466
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_LINCmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_LINCmd_1
        LDRH     R0,[R4, #+16]
        ORRS     R0,R0,#0x4000
        STRH     R0,[R4, #+16]
        B.N      ??USART_LINCmd_2
??USART_LINCmd_1:
        LDRH     R0,[R4, #+16]
        LDR.N    R1,??USART_LINCmd_3  ;; 0xbfff
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+16]
??USART_LINCmd_2:
        POP      {R4,R5,PC}       ;; return
        DATA
??USART_LINCmd_3:
        DC32     0xbfff

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SendData:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+512
        CMP      R5,R0
        BCC.N    ??USART_SendData_0
        MOVS     R1,#+492
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_SendData_0:
        LSLS     R0,R5,#+23       ;; ZeroExtS R0,R5,#+23,#+23
        LSRS     R0,R0,#+23
        STRH     R0,[R4, #+4]
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_ReceiveData:
        LDRH     R0,[R0, #+4]
        LSLS     R0,R0,#+23       ;; ZeroExtS R0,R0,#+23,#+23
        LSRS     R0,R0,#+23
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SendBreak:
        LDRH     R1,[R0, #+12]
        ORRS     R1,R1,#0x1
        STRH     R1,[R0, #+12]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SetGuardTime:
        LDRH     R2,[R0, #+24]
        LSLS     R2,R2,#+24       ;; ZeroExtS R2,R2,#+24,#+24
        LSRS     R2,R2,#+24
        STRH     R2,[R0, #+24]
        LDRH     R2,[R0, #+24]
        ORRS     R1,R2,R1, LSL #+8
        STRH     R1,[R0, #+24]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SetPrescaler:
        LDRH     R2,[R0, #+24]
        ANDS     R2,R2,#0xFF00
        STRH     R2,[R0, #+24]
        LDRH     R2,[R0, #+24]
        ORRS     R1,R1,R2
        STRH     R1,[R0, #+24]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SmartCardCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_SmartCardCmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_SmartCardCmd_0
        LDR.N    R1,??USART_SmartCardCmd_1  ;; 0x23d
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_SmartCardCmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_SmartCardCmd_2
        LDRH     R0,[R4, #+20]
        ORRS     R0,R0,#0x20
        STRH     R0,[R4, #+20]
        B.N      ??USART_SmartCardCmd_3
??USART_SmartCardCmd_2:
        LDRH     R0,[R4, #+20]
        LDR.N    R1,??DataTable32  ;; 0xffdf
        ANDS     R1,R1,R0
        STRH     R1,[R4, #+20]
??USART_SmartCardCmd_3:
        POP      {R4,R5,PC}       ;; return
        Nop      
        DATA
??USART_SmartCardCmd_1:
        DC32     0x23d

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable32:
        DC32     0xffdf

        RSEG CODE:CODE:NOROOT(2)
        THUMB
USART_SmartCardNACKCmd:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        CMP      R5,#+0
        BEQ.N    ??USART_SmartCardNACKCmd_0
        CMP      R5,#+1
        BEQ.N    ??USART_SmartCardNACKCmd_0
        MOVS     R1,#+600
        LDR.N    R0,??DataTable39  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??USART_SmartCardNACKCmd_0:
        CMP      R5,#+0
        BEQ.N    ??USART_SmartCardNACKCmd_1
        LDRH     R0,[R4, #+20]
        ORRS     R0,R0,#0x10
        STRH     R0,[R4, #+20]
        B.N      ??USART_SmartCardNACKCmd_2

⌨️ 快捷键说明

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