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

📄 ecp_userinput.lst

📁 TI EVMDM355 开发板的测试程序,包括BOOT,DDR2,NAND,SD,UART,GPIO等芯片外设的测试驱动.
💻 LST
📖 第 1 页 / 共 3 页
字号:
       ; Init value
    113    000084 1553                           add   #0x0001,R5              
       ; Increment pointer
    114    000086 1483                           dec   R4
    115    000088 FA23                           jnz   InitButtonCLRLoop
    116    00008A C043....                       mov.b #0x00,ButtonIndex       
       ; Initialize button index
    117    00008E C043....                       mov.b #0x00,ButtonRepeatCnt   
       ; Initialize button repeat
    118    000092 B2D006008001                   bis   #TBCLR+TBIE,&TBCTL      
       ; Clear timer, enable int
    119    000098 3541                           pop   R5
    120    00009A 3441                           pop   R4
    121    00009C 3041                           ret                 
                                                                       
    122    00009E              
    123    00009E              ; **********************************************
                               ******************************
    124    00009E              ; Function: TimerA Interrupt Routines
    125    00009E              ;
    126    00009E              ; Purpose:  TimerA is used for IR receiver
    127    00009E              ;
    128    00009E              ; Inputs:   None
    129    00009E              ;
    130    00009E              ; Returns:  None
    131    00009E              ; **********************************************
                               ******************************
    132    00009E              TACCR0_CCIFG_Interrupt
    133    00009E 0013                           reti 
    134    0000A0                                
    135    0000A0 10522E01     TACCR1_Interrupt  add &TAIV,PC                  
                                                                 ; Add offset
                                                            to PC
    136    0000A4 0013                           reti                          
       ; Vector 0, no interrupt
    137    0000A6 043C                           jmp TACCR1Interrupt           
       ; Vector 2, TACCR1 Int
    138    0000A8 433C                           jmp TACCR2Interrupt           
       ; Vector 4, TACCR2 Int
    139    0000AA 0013                           reti                          
       ; Vector 6 reserved
    140    0000AC 0013                           reti                          
       ; Vector 8 reserved
    141    0000AE 0013                           reti                          
       ; Vector 10 TAIFG
    142    0000B0                                
    143    0000B0 0412         TACCR1Interrupt   push  R4                      
       ; Save Regs
    144    0000B2 14426401                       mov   &TACCTL1,R4             
                                                                      ; Get
                                                                 TACCTL1
    145    0000B6 34F00001                       and   #CAP,R4                 
       ; Mask Capture mode
    146    0000BA 0D24                           jz    TACCR1Int_2             
       ; Not capture mode
    147    0000BC 82436601                       mov   #0x0000, &TACCTL2       
       ; Disable TA2
    148    0000C0 14427401                       mov   &TACCR1, R4             
                                                                      ; Get
                                                                 TACCR1
    149    0000C4 34502A00                       add   #BIT_75, R4             
       ; Add 3/4 bit time
    150    0000C8 82447401                       mov   R4,&TACCR1
    151    0000CC B0401000....                   mov   #CCIE,TACCTL1           
       ; Compare mode, enable int
    152    0000D2 3441                           pop   R4                      
       ; Restore Regs
    153    0000D4 0013                           reti
    154    0000D6 5440....     TACCR1Int_2       mov.b IRBits,R4               
                                                                    ; Get
                                                               current bit
                                                               count
    155    0000DA 1483                           dec   R4                      
       ; Decrement bit count
    156    0000DC 0C20                           jnz   TACCR1Int_3             
       ; Is it 0?
    157    0000DE 82436401                       mov   #0x0000,&TACCTL1        
       ; Stop TA1
    158    0000E2 82436601                       mov   #0x0000,&TACCTL2        
       ; Stop TA2
    159    0000E6 1440....                       mov   IRData,R4               
                                                                    ; Get the
                                                               IR data
    160    0000EA B012....                       call  #PushInputEvent         
       ; Report it to DM350
    161    0000EE B012....                       call  #ResetIR
    162    0000F2 3441                           pop   R4
    163    0000F4 0013                           reti                          
       ; Interrupt done
    164    0000F6 C044....     TACCR1Int_3       mov.b R4,IRBits               
                                                                ; Save
                                                           IRBITS
    165    0000FA 1440....                       mov   IRData,R4               
                                                                    ; Get IR
                                                               Data
    166    0000FE 0454                           rla   R4                      
       ; Shift left once
    167    000100 0512                           push  R5                      
       ; Save R5
    168    000102 15426401                       mov   &TACCTL1,R5             
                                                                      ; Get
                                                                 TACCTL1
    169    000106 35F00004                       and   #SCCI,R5                
       ; Is SCCI bit set?
    170    00010A 0124                           jz    TACCR1Int_4             
       ; No
    171    00010C 14D3                           bis   #0x0001,R4              
       ; Set IRDATA LSB to 1
    172    00010E 8044....     TACCR1Int_4       mov   R4, IRData              
                                                                 ; Save
                                                            it
    173    000112 14427401                       mov   &TACCR1,R4              
                                                                     ; Get
                                                                TACCR1
    174    000116 34501D00                       add   #BIT_50,R4              
       ; Add 1/2 IR Bit time
    175    00011A 82447601                       mov   R4,&TACCR2              
                                                                ; Set TA2 to
                                                           generate
    176    00011E                                                              
                                     ; a timeout if next
    177    00011E                                                              
                                     ; packet edge is not
    178    00011E                                                              
                                     ; captured within 1/2
    179    00011E                                                              
                                     ; bit time
    180    00011E B24010006601                   mov   #CCIE,&TACCTL2          
       ; Compare mode, enable int
    181    000124 B24010C96401                   mov  #CAP+CM1+CM0+SCS+CCIE,&TA
 CCTL1 ; Capture mode, CCI1A
    182    00012A                                                              
                                     ; input, both edges
    183    00012A                                                              
                                     ; synchronous enable
    184    00012A                                                              
                                     ; interrupt
    185    00012A 3541                           pop   R5                      
       ; Restore Regs
    186    00012C 3441                           pop   R4
    187    00012E 0013                           reti
    188    000130                                
    189    000130                                
    190    000130 82436401     TACCR2Interrupt   mov  #0x0000,&TACCTL1         
       ; Timeout, stop TA1
    191    000134 82436601                       mov  #0x0000,&TACCTL2         
       ; Timeout, stop TA2
    192    000138 B012....                       call #ResetIR                 
       ; Reset for next time
    193    00013C 0013                           reti
    194    00013E              ; **********************************************
                               ******************************
    195    00013E              ; Function: TimerB Interrupt Routines
    196    00013E              ;
    197    00013E              ; Purpose:  TimerB is used for user button
                                debounce and processing
    198    00013E              ;
    199    00013E              ; Inputs:   None
    200    00013E              ;
    201    00013E              ; Returns:  None
    202    00013E              ; **********************************************
                               ******************************
    203    00013E 10521E01     TIMERB_ISR        add &TBIV,PC                  
                                                                 ; Add offset
                                                            to PC
    204    000142 0013                           reti                          
       ; Vector 0, no interrupt
    205    000144 0013                           reti                          
       ; Vector 2, TBCCR1 Int
    206    000146 0013                           reti                          
       ; Vector 4, TBCCR2 Int
    207    000148 0013                           reti                          
       ; Vector 6 reserved
    208    00014A 0013                           reti                          
       ; Vector 8 reserved
    209    00014C 0013                           reti                          
       ; Vector A reserved
    210    00014E 0013                           reti                          
       ; Vector C reserved
    211    000150 003C                           jmp   DebounceButton          
       ; Vector E TAIFG                  
    212    000152                                
    213    000152 0412         DebounceButton    push  R4                      

⌨️ 快捷键说明

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