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

📄 f243qep2.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 2 页
字号:
      94 0012 bf0b          LAR        AR3,#T2CNT      ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
         0013 7405  
      95            ;--------------------------------------------------------------------------------
      96 0014 8b8b          MAR     *,AR3           ; ARP=AR3. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
      97            ;--------------------------------------------------------------------------------
      98 0015 108a          LACC    *,AR2           ; Get current ccounter value in ACC.        
      99                                            ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
     100            ;--------------------------------------------------------------------------------
     101 0016 6690          SUBS    *-              ; Subtract the down count offset.
     102                                            ; ARP=AR2. AR0->FR0 AR2->QEP_dir
     103                                            ; AR3->T2CNT.
     104            ;--------------------------------------------------------------------------------
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:42:41 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f243qep2.asm                                                         PAGE    3

     105 0017 aea0          SPLK    #0ffffh,*+      ; Indicate down_count
         0018 ffff  
     106                                            ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
     107            ;--------------------------------------------------------------------------------
     108 0019 7980          B       UC_01           ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
         001a 001f' 
     109            ;--------------------------------------------------------------------------------
     110                                            ; On arrival
     111 001b       UP_COUNT:                       ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->GPTCON.
     112            
     113 001b bf0b          LAR        AR3,#T2CNT      ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
         001c 7405  
     114            ;--------------------------------------------------------------------------------
     115 001d 8b8b          MAR     *,AR3           ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
     116            ;--------------------------------------------------------------------------------
     117 001e 108a          LACC    *,AR2           ; Get current ccounter value in ACC.
     118                                            ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
     119            ;--------------------------------------------------------------------------------
     120 001f b800  UC_01        ADD        #CAL_ANGLE        ; add offset amount
     121                                            ; ARP=AR2. AR0->FR0 AR2->down_count_offset AR3->T2CNT.
     122            ;--------------------------------------------------------------------------------
     123 0020 7801          ADRK    #1              ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     124            ;--------------------------------------------------------------------------------
     125 0021 9080          SACL    *               ; store raw angle.
     126                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     127            ;--------------------------------------------------------------------------------
     128 0022 bfa0          SUB     #ENCODER_MAX    ; Check for wrap-around.
         0023 0fa0  
     129                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     130            ;--------------------------------------------------------------------------------
     131 0024 e3cc          BCND        NO_WRAP, LEQ         ; If yes "wrap-around" the angle value
         0025 002a' 
     132                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     133            ;--------------------------------------------------------------------------------
     134 0026       WRAP:
     135 0026 1080          LACC        *               ; Get raw angle.
     136                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     137            ;--------------------------------------------------------------------------------
     138 0027 bfa0          SUB        #ENCODER_MAX         ; New theta = theta + Cal_angle - ENCODER_MAX 
         0028 0fa0  
     139                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     140            ;--------------------------------------------------------------------------------
     141 0029 9080          SACL        *
     142                                            ; ARP=AR2. AR0->FR0 AR2->theta_raw AR3->T2CNT.
     143            ;--------------------------------------------------------------------------------
     144 002a       NO_WRAP:                        ; Calculate Mechanical angle
     145 002a 73a0          LT        *+              ; Load "raw" Mech angle
     146                                            ; ARP=AR2. AR0->FR0 AR2->mech_scaler AR3->T2CNT.
     147            ;--------------------------------------------------------------------------------
     148 002b 54a0          MPY     *+              ; Scale Mech angle to Q15 (0-->7FFF)
     149                                            ; ARP=AR2. AR0->FR0 AR2->pole_pairs AR3->T2CNT.
     150            ;--------------------------------------------------------------------------------
     151 002c be03          PAC                     ; ARP=AR2. AR0->FR0 AR2->pole_pairs AR3->T2CNT.
     152            ;--------------------------------------------------------------------------------
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:42:41 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
f243qep2.asm                                                         PAGE    4

     153 002d 7380          LT      *               ; ARP=AR2. AR0->FR0 AR2->pole_pairs AR3->T2CNT.
     154            ;--------------------------------------------------------------------------------
     155 002e 7c05          SBRK    #5              ; ARP=AR2. AR0->FR0 AR2->theta_mech  AR3->T2CNT.
     156            ;--------------------------------------------------------------------------------
     157 002f 9d80          SACH    *,5             ; Store mechanical angle
     158                                            ; ARP=AR2. AR0->FR0 AR2->theta_mech  AR3->T2CNT.
     159            ;--------------------------------------------------------------------------------
     160 0030 5490          MPY     *-                ; pole_pairs*theta_mech.
     161                                            ; ARP=AR2. AR0->FR0 AR2->theta_elec AR3->T2CNT.
     162            ;--------------------------------------------------------------------------------
     163 0031 be03          PAC                     ; ARP=AR2. AR0->FR0 AR2->theta_mech  AR3->T2CNT.
     164            ;--------------------------------------------------------------------------------
     165 0032 bfb0          AND     #7fffh          ;force to Q15 positive and allow wrap
         0033 7fff  
     166                                            ; ARP=AR2. AR0->FR0 AR2->theta_elec AR3->T2CNT.
     167            ;--------------------------------------------------------------------------------
     168 0034 9089          SACL        *,AR1
     169            
     170 0035       _F243_qep_theta_calc_end:
     171            
     172                           ;;;; MAR     *,AR1   ; can be removed if this condition is met on
     173                           ;;;;                 ; every path to this code.
     174            
     175 0035 7c02                  SBRK        #(__F243_qep_theta_calc_framesize+1)
     176 0036 0090                  LAR        AR0,*-
     177 0037 7680                  PSHD        *
     178 0038 ef00                  RET
     179            

 No Errors,  No Warnings

⌨️ 快捷键说明

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