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

📄 stm32f10x_wwdg.s79

📁 STM32利用正交编码器实现电机的控制
💻 S79
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
// IAR ARM ANSI C/C++ Compiler V4.42A/W32              15/May/2008  12:06:34 /
// 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_wwdg.c          /
//    Command line    =  "C:\David JIANG\ST MCU\Docs\STM32\AN_JIANG\TIM      /
//                       Encoder\example\FWLib\src\stm32f10x_wwdg.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_wwdg.s79                                       /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME stm32f10x_wwdg

        RSEG CSTACK:DATA:NOROOT(2)

??DataTable0 EQU 0
??DataTable1 EQU 0
??DataTable2 EQU 0
??DataTable3 EQU 0
??DataTable4 EQU 0
??DataTable5 EQU 0
??DataTable6 EQU 0
??DataTable7 EQU 0
??DataTable9 EQU 0
        MULTWEAK ??RCC_APB1PeriphResetCmd??rT
        MULTWEAK ??assert_failed??rT
        PUBLIC WWDG_ClearFlag
        PUBLIC WWDG_DeInit
        PUBLIC WWDG_Enable
        PUBLIC WWDG_EnableIT
        PUBLIC WWDG_GetFlagStatus
        PUBLIC WWDG_SetCounter
        PUBLIC WWDG_SetPrescaler
        PUBLIC WWDG_SetWindowValue

RCC_APB1PeriphResetCmd SYMBOL "RCC_APB1PeriphResetCmd"
assert_failed       SYMBOL "assert_failed"
??RCC_APB1PeriphResetCmd??rT SYMBOL "??rT", RCC_APB1PeriphResetCmd
??assert_failed??rT SYMBOL "??rT", assert_failed

        EXTERN RCC_APB1PeriphResetCmd
        EXTERN WWDG
        EXTERN assert_failed


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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_SetPrescaler:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+0
        BEQ.N    ??WWDG_SetPrescaler_0
        CMP      R4,#+128
        BEQ.N    ??WWDG_SetPrescaler_0
        CMP      R4,#+256
        BEQ.N    ??WWDG_SetPrescaler_0
        CMP      R4,#+384
        BEQ.N    ??WWDG_SetPrescaler_0
        MOVS     R1,#+86
        LDR.N    R0,??DataTable8  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??WWDG_SetPrescaler_0:
        LDR.N    R0,??DataTable10  ;; WWDG
        LDR      R0,[R0, #+0]
        LDR      R1,[R0, #+4]
        MVNS     R0,#+384
        ANDS     R0,R0,R1
        ORRS     R4,R4,R0
        MOVS     R0,R4
        LDR.N    R1,??DataTable10  ;; WWDG
        LDR      R1,[R1, #+0]
        STR      R0,[R1, #+4]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_SetWindowValue:
        PUSH     {R4,LR}
        MOVS     R4,R0
        MOVS     R0,#+0
        CMP      R4,#+128
        BCC.N    ??WWDG_SetWindowValue_0
        MOVS     R1,#+112
        LDR.N    R0,??DataTable8  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??WWDG_SetWindowValue_0:
        LDR.N    R0,??DataTable10  ;; WWDG
        LDR      R0,[R0, #+0]
        LDR      R0,[R0, #+4]
        MOVS     R1,#+127
        BICS     R0,R0,R1
        MOVS     R1,R0
        LSLS     R0,R4,#+25       ;; ZeroExtS R0,R4,#+25,#+25
        LSRS     R0,R0,#+25
        ORRS     R0,R0,R1
        LDR.N    R1,??DataTable10  ;; WWDG
        LDR      R1,[R1, #+0]
        STR      R0,[R1, #+4]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_EnableIT:
        LDR.N    R0,??WWDG_EnableIT_0  ;; 0x420580a4
        MOVS     R1,#+1
        STR      R1,[R0, #+0]
        BX       LR               ;; return
        DATA
??WWDG_EnableIT_0:
        DC32     0x420580a4

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_SetCounter:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+64
        BCC.N    ??WWDG_SetCounter_0
        CMP      R4,#+128
        BCC.N    ??WWDG_SetCounter_1
??WWDG_SetCounter_0:
        MOVS     R1,#+147
        LDR.N    R0,??DataTable8  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??WWDG_SetCounter_1:
        LDR.N    R0,??DataTable10  ;; WWDG
        LDR      R0,[R0, #+0]
        LSLS     R1,R4,#+25       ;; ZeroExtS R1,R4,#+25,#+25
        LSRS     R1,R1,#+25
        STR      R1,[R0, #+0]
        POP      {R4,PC}          ;; return

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_Enable:
        PUSH     {R4,LR}
        MOVS     R4,R0
        CMP      R4,#+64
        BCC.N    ??WWDG_Enable_0
        CMP      R4,#+128
        BCC.N    ??WWDG_Enable_1
??WWDG_Enable_0:
        MOVS     R1,#+166
        LDR.N    R0,??DataTable8  ;; `?<Constant "C:\\\\David JIANG\\\\ST MCU...">`
        _BLF     assert_failed,??assert_failed??rT
??WWDG_Enable_1:
        LDR.N    R0,??DataTable10  ;; WWDG
        LDR      R0,[R0, #+0]
        ORRS     R1,R4,#0x80
        STR      R1,[R0, #+0]
        POP      {R4,PC}          ;; return

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

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_GetFlagStatus:
        LDR.N    R0,??WWDG_GetFlagStatus_0  ;; 0x42058100
        LDR      R0,[R0, #+0]
        LSLS     R0,R0,#+24       ;; ZeroExtS R0,R0,#+24,#+24
        LSRS     R0,R0,#+24
        BX       LR               ;; return
        Nop      
        DATA
??WWDG_GetFlagStatus_0:
        DC32     0x42058100

        RSEG CODE:CODE:NOROOT(2)
        THUMB
WWDG_ClearFlag:
        LDR.N    R0,??DataTable10  ;; WWDG
        LDR      R0,[R0, #+0]
        MOVS     R1,#+0
        STR      R1,[R0, #+8]
        BX       LR               ;; return

        RSEG CODE:CODE:NOROOT(2)
        DATA
??DataTable10:
        DC32     WWDG

        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, 77H, 77H, 64H, 67H, 2EH, 63H
        DC8 0
        DC8 0, 0, 0

        END
// 
// 252 bytes in segment CODE
//  92 bytes in segment DATA_C
// 
// 236 bytes of CODE  memory (+ 16 bytes shared)
//  92 bytes of CONST memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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