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

📄 mytest.lis

📁 Cypress公司开发的2.4G无线键盘鼠标及其Bridge源代码
💻 LIS
字号:
 0000                   cpu LMM
                        .module mytest.c
                        .area data(ram, con, rel)
 0000           _AppBuf::
 0000 0001              .byte 0,1
 0002 0203              .byte 2,3
 0004 0405              .byte 4,5
 0006 0607              .byte 6,7
 0008 0809              .byte 8,9
 000A 0A0B              .byte 10,11
 000C 0C0D              .byte 12,13
 000E 0E0F              .byte 14,15
 0010                   .dbfile ./mytest.c
 0010                   .dbsym e AppBuf _AppBuf A[16:16]c
                        .area data(ram, con, rel)
 0000                   .dbfile ./mytest.c
                        .area text(rom, con, rel)
 0000                   .dbfile ./mytest.c
 0000                   .dbfunc e radio_driver_init_test _radio_driver_init_test fV
 0000           ;           temp -> X+0
 0000           _radio_driver_init_test::
 0000                   .dbline -1
 0000 10                push X
 0001 4F                mov X,SP
 0002 3801              add SP,1
 0004                   .dbline 20
 0004           ; #include "mytest.h"
 0004           ; #include "lpradio.h"
 0004           ; #include "psocgpioint.h"
 0004           ; #ifdef MY_TEST
 0004           ; 
 0004           ; #define RED_ON nLED2_Data_ADDR &=~nLED2_MASK
 0004           ; 
 0004           ; #define RED_OFF nLED2_Data_ADDR |=nLED2_MASK
 0004           ; 
 0004           ; #define GREEN_ON nLED1_Data_ADDR &=~nLED1_MASK
 0004           ; 
 0004           ; #define GREEN_OFF nLED1_Data_ADDR |=nLED1_MASK
 0004           ; 
 0004           ; //testing radio/////////////////////////////////////
 0004           ; unsigned char AppBuf[16]={
 0004           ;       0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
 0004           ; };
 0004           ; 
 0004           ; void radio_driver_init_test(void)
 0004           ; {
 0004                   .dbline 24
 0004           ;   
 0004           ;   // Initialization, test spi
 0004           ;   unsigned char temp;
 0004           ;   RED_OFF;
 0004 430080            or REG[ 0],-128
 0007                   .dbline 28
 0007           ;   // Initialize radio for:
 0007           ;   // CH=96, PN=2, ACK EN, ACK TO=8x, 125kbps, 8DR-64, SOP64, 
 0007           ;   // PA=7, SOP EN, SOP64, LEN EN, SOPTH=14, TH64=14, TH32=4
 0007           ;   RadioInit(0x85, 0x2F);          // TX_CFG_ADR, XACT_CFG_ADR
 0007 10                push X
 0008 572F              mov X,47
 000A 5085              mov A,-123
 000C 7C0000            xcall _RadioInit
 000F                   .dbline 32
 000F           ;   // Configure the Radio
 000F           ; //  RadioInit(ACK_EN|END_STATE_RX|ACK_TO_8X, 6|DATCODE_LEN_32|DATMODE_8DR);
 000F           ; 
 000F           ;   RadioSetFrequency(3);        // Set the transmit frequency (2400MHz + CHANNEL)
 000F 5003              mov A,3
 0011 7C0000            xcall _RadioSetFrequency
 0014                   .dbline 34
 0014           ;   
 0014           ;   RadioSetThreshold32(0x05);      //
 0014 5005              mov A,5
 0016 7C0000            xcall _RadioSetThreshold32
 0019                   .dbline 35
 0019           ;   RadioSetThreshold64(0x0e);      // 0x0E
 0019 500E              mov A,14
 001B 7C0000            xcall _RadioSetThreshold64
 001E                   .dbline 37
 001E           ; 
 001E           ;   RadioSetFrameConfig(0xee);      //0xEE
 001E 50EE              mov A,-18
 0020 7C0000            xcall _RadioSetFrameConfig
 0023                   .dbline 38
 0023           ;   temp = RadioGetFrameConfig();
 0023 7C0000            xcall _RadioGetFrameConfig
 0026 62D000            mov REG[0xd0],>__r0
 0029 20                pop X
 002A 5400              mov [X+0],A
 002C                   .dbline 40
 002C           ;   
 002C           ;   RadioSetSopPnCode(0x04);        // Change the PN Code for the Start of Packet
 002C 10                push X
 002D 5004              mov A,4
 002F 7C0000            xcall _RadioSetSopPnCode
 0032                   .dbline 42
 0032           ; 
 0032           ;   RadioSetPtr(AppBuf);
 0032 5000              mov A,>_AppBuf
 0034 08                push A
 0035 5000              mov A,<_AppBuf
 0037 5C                mov X,A
 0038 18                pop A
 0039 7C0000            xcall _RadioSetPtr
 003C                   .dbline 43
 003C           ;   RadioSetLength(sizeof(AppBuf));
 003C 5010              mov A,16
 003E 7C0000            xcall _RadioSetLength
 0041 20                pop X
 0042 800D              xjmp L3
 0044           L2:
 0044                   .dbline 47
 0044                   .dbline 48
 0044 10                push X
 0045 5710              mov X,16
 0047 50FA              mov A,-6
 0049 7C0000            xcall _RadioBlockingTransmit
 004C 62D000            mov REG[0xd0],>__r0
 004F 20                pop X
 0050                   .dbline 49
 0050           L3:
 0050                   .dbline 46
 0050 8FF3              xjmp L2
 0052           X0:
 0052                   .dbline -2
 0052                   .dbline 52
 0052           ; 
 0052           ;   // test block transmit
 0052           ;   while(1)
 0052           ;   {
 0052           ;               RadioBlockingTransmit(250,16);
 0052           ;   }
 0052           ;   
 0052           ;   
 0052           ; }
 0052           L1:
 0052 38FF              add SP,-1
 0054 20                pop X
 0055                   .dbline 0 ; func end
 0055 7F                ret
 0056                   .dbsym l temp 0 c
 0056                   .dbend
 0056                   .dbfunc e radio_driver_send_test _radio_driver_send_test fV
 0056           ;     radiostate -> X+0
 0056           ;           data -> X-4
 0056           _radio_driver_send_test::
 0056                   .dbline -1
 0056 10                push X
 0057 4F                mov X,SP
 0058 3801              add SP,1
 005A                   .dbline 54
 005A           ; void radio_driver_send_test(char data)
 005A           ; {
 005A                   .dbline 56
 005A           ;       unsigned char radiostate;
 005A           ;       AppBuf[0]= data;
 005A 52FC              mov A,[X-4]
 005C 62D000            mov REG[0xd0],>_AppBuf
 005F 5300              mov [_AppBuf],A
 0061                   .dbline 57
 0061           ;       RadioSetPtr(AppBuf);
 0061 10                push X
 0062 5000              mov A,>_AppBuf
 0064 08                push A
 0065 5000              mov A,<_AppBuf
 0067 5C                mov X,A
 0068 18                pop A
 0069 7C0000            xcall _RadioSetPtr
 006C                   .dbline 58
 006C           ;       radiostate = RadioBlockingTransmit(1,16);
 006C 5710              mov X,16
 006E 5001              mov A,1
 0070 7C0000            xcall _RadioBlockingTransmit
 0073 62D000            mov REG[0xd0],>__r0
 0076 20                pop X
 0077 5400              mov [X+0],A
 0079                   .dbline -2
 0079                   .dbline 60
 0079           ;       
 0079           ; }
 0079           L5:
 0079 38FF              add SP,-1
 007B 20                pop X
 007C                   .dbline 0 ; func end
 007C 7F                ret
 007D                   .dbsym l radiostate 0 c
 007D                   .dbsym l data -4 c
 007D                   .dbend
 007D                   .dbfunc e radio_driver_receive_poll _radio_driver_receive_poll fV
 007D           ;          RxLen -> X+1
 007D           ;     radiostate -> X+0
 007D           _radio_driver_receive_poll::
 007D                   .dbline -1
 007D 10                push X
 007E 4F                mov X,SP
 007F 3802              add SP,2
 0081                   .dbline 62
 0081           ; void radio_driver_receive_poll(void)
 0081           ; {
 0081                   .dbline 65
 0081           ;       // test receive
 0081           ;       unsigned char radiostate,RxLen;
 0081           ;     RadioStartReceive();
 0081 10                push X
 0082 7C0000            xcall _RadioStartReceive
 0085 20                pop X
 0086 8053              xjmp L8
 0088           L7:
 0088                   .dbline 67
 0088           ;       while(1)
 0088           ;       {
 0088                   .dbline 68
 0088           ;               radiostate = RadioGetReceiveState();
 0088 10                push X
 0089 7C0000            xcall _RadioGetReceiveState
 008C 62D000            mov REG[0xd0],>__r0
 008F 20                pop X
 0090 5400              mov [X+0],A
 0092                   .dbline 69
 0092           ;               if((radiostate & (RADIO_ERROR | RADIO_COMPLETE))==RADIO_COMPLETE)
 0092 5200              mov A,[X+0]
 0094 2103              and A,3
 0096 3902              cmp A,2
 0098 B02D              jnz L10
 009A                   .dbline 70
 009A           ;               {               
 009A                   .dbline 71
 009A           ;                       RxLen = RadioEndReceive();
 009A 10                push X
 009B 7C0000            xcall _RadioEndReceive
 009E 62D000            mov REG[0xd0],>__r0
 00A1 20                pop X
 00A2 5401              mov [X+1],A
 00A4                   .dbline 72
 00A4           ;                       if(RxLen>0 && RxLen != 0xff)
 00A4 5000              mov A,0
 00A6 3B01              cmp A,[X+1]
 00A8 D016              jnc L12
 00AA           X2:
 00AA 3D01FF            cmp [X+1],-1
 00AD A011              jz L12
 00AF                   .dbline 73
 00AF           ;                       {       
 00AF                   .dbline 74
 00AF           ;                               if(AppBuf[0])
 00AF 62D000            mov REG[0xd0],>_AppBuf
 00B2 3C0000            cmp [_AppBuf],0
 00B5 A006              jz L14
 00B7                   .dbline 75
 00B7           ;                               {
 00B7                   .dbline 76
 00B7           ;                                       RED_ON;
 00B7 41007F            and REG[ 0],127
 00BA                   .dbline 77
 00BA           ;                               }
 00BA 8004              xjmp L15
 00BC           L14:
 00BC                   .dbline 79
 00BC           ;                               else
 00BC           ;                               {
 00BC                   .dbline 80
 00BC           ;                                       RED_OFF;
 00BC 430080            or REG[ 0],-128
 00BF                   .dbline 81
 00BF           ;                               }               
 00BF           L15:
 00BF                   .dbline 82
 00BF           ;                       }
 00BF           L12:
 00BF                   .dbline 83
 00BF           ;                       RadioStartReceive();
 00BF 10                push X
 00C0 7C0000            xcall _RadioStartReceive
 00C3 20                pop X
 00C4                   .dbline 84
 00C4 8015              xjmp L11
 00C6           L10:
 00C6                   .dbline 84
 00C6           ;               }else if(radiostate & RADIO_ERROR)
 00C6 480001            tst [X+0],1
 00C9 A010              jz L16
 00CB                   .dbline 85
 00CB           ;               {
 00CB                   .dbline 86
 00CB           ;                       RxLen = RadioEndReceive();
 00CB 10                push X
 00CC 7C0000            xcall _RadioEndReceive
 00CF 62D000            mov REG[0xd0],>__r0
 00D2 20                pop X
 00D3 5401              mov [X+1],A
 00D5                   .dbline 87
 00D5           ;                       RadioStartReceive();
 00D5 10                push X
 00D6 7C0000            xcall _RadioStartReceive
 00D9 20                pop X
 00DA                   .dbline 88
 00DA           ;               }
 00DA           L16:
 00DA           L11:
 00DA                   .dbline 89
 00DA           L8:
 00DA                   .dbline 66
 00DA 8FAD              xjmp L7
 00DC           X1:
 00DC                   .dbline -2
 00DC                   .dbline 90
 00DC           ;       }  
 00DC           ; }
 00DC           L6:
 00DC 38FE              add SP,-2
 00DE 20                pop X
 00DF                   .dbline 0 ; func end
 00DF 7F                ret
 00E0                   .dbsym l RxLen 1 c
 00E0                   .dbsym l radiostate 0 c
 00E0                   .dbend

⌨️ 快捷键说明

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