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

📄 stm32f10x_pwr.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32              15/May/2008  12:06:32 /
// Copyright 1999-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Cpu mode        =  thumb                                               /
//    Endian          =  little                                              /
//    Stack alignment =  4                                                   /
//    Source file     =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       /
//                       Encoder\example\FWLib\src\stm32f10x_pwr.c           /
//    Command line    =  "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM      /
//                       Encoder\example\FWLib\src\stm32f10x_pwr.c" -D       /
//                       VECT_TAB_FLASH -lcN "C:\David JIANG\ST              /
//                       MCU\Docs\STM32\AN_JIANG\TIM                         /
//                       Encoder\example\project\EWARM\BOOT_FLASH\List\"     /
//                       -lb "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM  /
//                       Encoder\example\project\EWARM\BOOT_FLASH\List\" -o  /
//                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM      /
//                       Encoder\example\project\EWARM\BOOT_FLASH\Obj\" -z3  /
//                       --no_cse --no_unroll --no_inline --no_code_motion   /
//                       --no_tbaa --no_clustering --no_scheduling --debug   /
//                       --cpu_mode thumb --endian little --cpu cortex-M3    /
//                       --stack_align 4 --require_prototypes --fpu None     /
//                       --dlib_config "C:\Program Files\IAR                 /
//                       Systems\Embedded Workbench                          /
//                       4.0\arm\LIB\dl7mptnnl8f.h" -I "C:\David JIANG\ST    /
//                       MCU\Docs\STM32\AN_JIANG\TIM                         /
//                       Encoder\example\project\EWARM\" -I "C:\David        /
//                       JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM                /
//                       Encoder\example\project\EWARM\..\include\" -I       /
//                       "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM      /
//                       Encoder\example\project\EWARM\..\..\FWLib\inc\" -I  /
//                       "C:\Program Files\IAR Systems\Embedded Workbench    /
//                       4.0\arm\INC\"                                       /
//    List file       =  C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM       /
//                       Encoder\example\project\EWARM\BOOT_FLASH\List\stm32 /
//                       f10x_pwr.s79                                        /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_pwr

        RSEG CSTACK:DATA:NOROOT(2)

??DataTable0 EQU 0
??DataTable1 EQU 0
??DataTable10 EQU 0
??DataTable11 EQU 0
??DataTable12 EQU 0
??DataTable13 EQU 0
??DataTable14 EQU 0
??DataTable15 EQU 0
??DataTable16 EQU 0
??DataTable18 EQU 0
??DataTable19 EQU 0
??DataTable2 EQU 0
??DataTable21 EQU 0
??DataTable3 EQU 0
??DataTable4 EQU 0
??DataTable5 EQU 0
??DataTable6 EQU 0
??DataTable7 EQU 0
??DataTable8 EQU 0
??DataTable9 EQU 0
        MULTWEAK ??RCC_APB1PeriphResetCmd??rT
        MULTWEAK ??__WFE??rT
        MULTWEAK ??__WFI??rT
        MULTWEAK ??assert_failed??rT
        PUBLIC PWR_BackupAccessCmd
        PUBLIC PWR_ClearFlag
        PUBLIC PWR_DeInit
        PUBLIC PWR_EnterSTANDBYMode
        PUBLIC PWR_EnterSTOPMode
        PUBLIC PWR_GetFlagStatus
        PUBLIC PWR_PVDCmd
        PUBLIC PWR_PVDLevelConfig
        PUBLIC PWR_WakeUpPinCmd

RCC_APB1PeriphResetCmd SYMBOL "RCC_APB1PeriphResetCmd"
__WFE               SYMBOL "__WFE"
__WFI               SYMBOL "__WFI"
assert_failed       SYMBOL "assert_failed"
??RCC_APB1PeriphResetCmd??rT SYMBOL "??rT", RCC_APB1PeriphResetCmd
??__WFE??rT         SYMBOL "??rT", __WFE
??__WFI??rT         SYMBOL "??rT", __WFI
??assert_failed??rT SYMBOL "??rT", assert_failed

        EXTERN PWR
        EXTERN RCC_APB1PeriphResetCmd
        EXTERN __WFE
        EXTERN __WFI
        EXTERN assert_failed


        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_DeInit:
        PUSH     {LR}
        MOVS     R1,#+1
        MOVS     R0,#+268435456
        _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
        MOVS     R1,#+0
        MOVS     R0,#+268435456
        _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
        POP      {PC}             ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_BackupAccessCmd:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+0
        BEQ.N    ??PWR_BackupAccessCmd_0
        CMP      R4,#+1
        BEQ.N    ??PWR_BackupAccessCmd_0
        MOVS     R1,#+89
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_BackupAccessCmd_0:
        LDR.N    R0,??PWR_BackupAccessCmd_1  ;; 0x420e0020
        STR      R4,[R0, #+0]
        POP      {R4,PC}          ;; return
        Nop      
        DATA
??PWR_BackupAccessCmd_1:
        DC32     0x420e0020

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_PVDCmd:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+0
        BEQ.N    ??PWR_PVDCmd_0
        CMP      R4,#+1
        BEQ.N    ??PWR_PVDCmd_0
        MOVS     R1,#+105
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_PVDCmd_0:
        LDR.N    R0,??PWR_PVDCmd_1  ;; 0x420e0010
        STR      R4,[R0, #+0]
        POP      {R4,PC}          ;; return
        Nop      
        DATA
??PWR_PVDCmd_1:
        DC32     0x420e0010

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_PVDLevelConfig:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+0
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+32
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+64
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+96
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+128
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+160
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+192
        BEQ.N    ??PWR_PVDLevelConfig_0
        CMP      R4,#+224
        BEQ.N    ??PWR_PVDLevelConfig_0
        MOVS     R1,#+132
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_PVDLevelConfig_0:
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+0]
        MOVS     R1,#+224
        BICS     R0,R0,R1
        ORRS     R4,R4,R0
        MOVS     R0,R4
        LDR.N    R1,??DataTable22  ;; PWR
        LDR      R1,[R1, #+0]
        STR      R0,[R1, #+0]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_WakeUpPinCmd:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+0
        BEQ.N    ??PWR_WakeUpPinCmd_0
        CMP      R4,#+1
        BEQ.N    ??PWR_WakeUpPinCmd_0
        MOVS     R1,#+157
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_WakeUpPinCmd_0:
        LDR.N    R0,??PWR_WakeUpPinCmd_1  ;; 0x420e00a0
        STR      R4,[R0, #+0]
        POP      {R4,PC}          ;; return
        Nop      
        DATA
??PWR_WakeUpPinCmd_1:
        DC32     0x420e00a0

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_EnterSTOPMode:
        PUSH     {R4,R5,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R0,#+0
        CMP      R4,#+0
        BEQ.N    ??PWR_EnterSTOPMode_0
        CMP      R4,#+1
        BEQ.N    ??PWR_EnterSTOPMode_0
        MOVS     R1,#+183
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_EnterSTOPMode_0:
        CMP      R5,#+1
        BEQ.N    ??PWR_EnterSTOPMode_1
        CMP      R5,#+2
        BEQ.N    ??PWR_EnterSTOPMode_1
        MOVS     R1,#+184
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_EnterSTOPMode_1:
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+0]
        MOVS     R1,#+3
        BICS     R0,R0,R1
        ORRS     R4,R4,R0
        MOVS     R0,R4
        LDR.N    R1,??DataTable22  ;; PWR
        LDR      R1,[R1, #+0]
        STR      R0,[R1, #+0]
        LDR.N    R0,??DataTable17  ;; 0xffffffffe000ed10
        LDR.N    R1,??DataTable17  ;; 0xffffffffe000ed10
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x4
        STR      R1,[R0, #+0]
        CMP      R5,#+1
        BNE.N    ??PWR_EnterSTOPMode_2
        _BLF     __WFI,??__WFI??rT
        B.N      ??PWR_EnterSTOPMode_3
??PWR_EnterSTOPMode_2:
        _BLF     __WFE,??__WFE??rT
??PWR_EnterSTOPMode_3:
        POP      {R4,R5,PC}       ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_EnterSTANDBYMode:
        PUSH     {LR}
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable22  ;; PWR
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x4
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable22  ;; PWR
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x2
        STR      R1,[R0, #+0]
        LDR.N    R0,??DataTable17  ;; 0xffffffffe000ed10
        LDR.N    R1,??DataTable17  ;; 0xffffffffe000ed10
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,#0x4
        STR      R1,[R0, #+0]
        _BLF     __WFI,??__WFI??rT
        POP      {PC}             ;; return

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_GetFlagStatus:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+1
        BEQ.N    ??PWR_GetFlagStatus_0
        CMP      R4,#+2
        BEQ.N    ??PWR_GetFlagStatus_0
        CMP      R4,#+4
        BEQ.N    ??PWR_GetFlagStatus_0
        MOVS     R1,#+252
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_GetFlagStatus_0:
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+4]
        ANDS     R4,R4,R0
        CMP      R4,#+0
        BEQ.N    ??PWR_GetFlagStatus_1
        MOVS     R0,#+1
        B.N      ??PWR_GetFlagStatus_2
??PWR_GetFlagStatus_1:
        MOVS     R0,#+0
??PWR_GetFlagStatus_2:
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
PWR_ClearFlag:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+1
        BEQ.N    ??PWR_ClearFlag_0
        CMP      R4,#+2
        BEQ.N    ??PWR_ClearFlag_0
        MOVS     R1,#+280
        LDR.N    R0,??DataTable20  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??PWR_ClearFlag_0:
        LDR.N    R0,??DataTable22  ;; PWR
        LDR      R0,[R0, #+0]
        LDR.N    R1,??DataTable22  ;; PWR
        LDR      R1,[R1, #+0]
        LDR      R1,[R1, #+0]
        ORRS     R1,R1,R4, LSL #+2
        STR      R1,[R0, #+0]
        POP      {R4,PC}          ;; return

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

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable22:
        DC32     PWR

        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 CODE:CODE:NOROOT(2)
        THUMB
??__WFI??rT:
        LDR.N    R3,??Subroutine2_0  ;; __WFI
        BX       R3
        DATA
??Subroutine2_0:
        DC32     __WFI

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

        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, 70H, 77H, 72H, 2EH, 63H, 0

        END
// 
// 458 bytes in segment CODE
//  88 bytes in segment DATA_C
// 
// 426 bytes of CODE  memory (+ 32 bytes shared)
//  88 bytes of CONST memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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