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

📄 halstack.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000048   90FFFD       MOV     DPTR,#-0x3
   \   00004B   E4           CLR     A
   \   00004C   93           MOVC    A,@A+DPTR
   \   00004D   8A82         MOV     DPL,R2
   \   00004F   8B83         MOV     DPH,R3
   \   000051   A3           INC     DPTR
   \   000052   A3           INC     DPTR
   \   000053   A3           INC     DPTR
   \   000054   A3           INC     DPTR
   \   000055   A3           INC     DPTR
   \   000056   F0           MOVX    @DPTR,A
    193            buf[6] = *(unsigned char __code *)(IEEE_ADDRESS_ARRAY+6);
   \   000057   90FFFE       MOV     DPTR,#-0x2
   \   00005A   E4           CLR     A
   \   00005B   93           MOVC    A,@A+DPTR
   \   00005C   8A82         MOV     DPL,R2
   \   00005E   8B83         MOV     DPH,R3
   \   000060   A3           INC     DPTR
   \   000061   A3           INC     DPTR
   \   000062   A3           INC     DPTR
   \   000063   A3           INC     DPTR
   \   000064   A3           INC     DPTR
   \   000065   A3           INC     DPTR
   \   000066   F0           MOVX    @DPTR,A
    194            buf[7] = *(unsigned char __code *)(IEEE_ADDRESS_ARRAY+7);
   \   000067   90FFFF       MOV     DPTR,#-0x1
   \   00006A   E4           CLR     A
   \   00006B   93           MOVC    A,@A+DPTR
   \   00006C   8A82         MOV     DPL,R2
   \   00006E   8B83         MOV     DPH,R3
   \   000070   A3           INC     DPTR
   \   000071   A3           INC     DPTR
   \   000072   A3           INC     DPTR
   \   000073   A3           INC     DPTR
   \   000074   A3           INC     DPTR
   \   000075   A3           INC     DPTR
   \   000076   A3           INC     DPTR
   \   000077   F0           MOVX    @DPTR,A
    195           #if (CC2430_FLASH_SIZE == 128)
    196            //resore old bank settings
    197            MEMCTR = bank;
   \   000078   8CC7         MOV     0xc7,R4
    198          #endif
    199          }
   \   00007A   D083         POP     DPH
   \   00007C   D082         POP     DPL
   \   00007E   22           RET
    200          
    201          
    202          
    203          
    204          
    205          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    206          void halSetRadioIEEEAddress(void) {
   \                     halSetRadioIEEEAddress:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 8
   \   000004   74F8         MOV     A,#-0x8
   \   000006   12....       LCALL   ?ALLOC_XSTACK8
    207            BYTE buf[8];
    208            halGetProcessorIEEEAddress(buf);
   \   000009                ; Setup parameters for call to function halGetProcessorIEEEAddress
   \   000009   85..82       MOV     DPL,?XSP + 0
   \   00000C   85..83       MOV     DPH,?XSP + 1
   \   00000F   AA82         MOV     R2,DPL
   \   000011   AB83         MOV     R3,DPH
   \   000013   12....       LCALL   halGetProcessorIEEEAddress
    209            IEEE_ADDR0 = buf[0];
   \   000016   85..82       MOV     DPL,?XSP + 0
   \   000019   85..83       MOV     DPH,?XSP + 1
   \   00001C   E0           MOVX    A,@DPTR
   \   00001D   90DF43       MOV     DPTR,#-0x20bd
   \   000020   F0           MOVX    @DPTR,A
    210            IEEE_ADDR1 = buf[1];
   \   000021   7401         MOV     A,#0x1
   \   000023   12....       LCALL   ?XSTACK_DISP0_8
   \   000026   E0           MOVX    A,@DPTR
   \   000027   90DF44       MOV     DPTR,#-0x20bc
   \   00002A   F0           MOVX    @DPTR,A
    211            IEEE_ADDR2 = buf[2];
   \   00002B   7402         MOV     A,#0x2
   \   00002D   12....       LCALL   ?XSTACK_DISP0_8
   \   000030   E0           MOVX    A,@DPTR
   \   000031   90DF45       MOV     DPTR,#-0x20bb
   \   000034   F0           MOVX    @DPTR,A
    212            IEEE_ADDR3 = buf[3];
   \   000035   7403         MOV     A,#0x3
   \   000037   12....       LCALL   ?XSTACK_DISP0_8
   \   00003A   E0           MOVX    A,@DPTR
   \   00003B   90DF46       MOV     DPTR,#-0x20ba
   \   00003E   F0           MOVX    @DPTR,A
    213            IEEE_ADDR4 = buf[4];
   \   00003F   7404         MOV     A,#0x4
   \   000041   12....       LCALL   ?XSTACK_DISP0_8
   \   000044   E0           MOVX    A,@DPTR
   \   000045   90DF47       MOV     DPTR,#-0x20b9
   \   000048   F0           MOVX    @DPTR,A
    214            IEEE_ADDR5 = buf[5];
   \   000049   7405         MOV     A,#0x5
   \   00004B   12....       LCALL   ?XSTACK_DISP0_8
   \   00004E   E0           MOVX    A,@DPTR
   \   00004F   90DF48       MOV     DPTR,#-0x20b8
   \   000052   F0           MOVX    @DPTR,A
    215            IEEE_ADDR6 = buf[6];
   \   000053   7406         MOV     A,#0x6
   \   000055   12....       LCALL   ?XSTACK_DISP0_8
   \   000058   E0           MOVX    A,@DPTR
   \   000059   90DF49       MOV     DPTR,#-0x20b7
   \   00005C   F0           MOVX    @DPTR,A
    216            IEEE_ADDR7 = buf[7];
   \   00005D   7407         MOV     A,#0x7
   \   00005F   12....       LCALL   ?XSTACK_DISP0_8
   \   000062   E0           MOVX    A,@DPTR
   \   000063   90DF4A       MOV     DPTR,#-0x20b6
   \   000066   F0           MOVX    @DPTR,A
    217          }
   \   000067   7408         MOV     A,#0x8
   \   000069   12....       LCALL   ?DEALLOC_XSTACK8
   \   00006C   D083         POP     DPH
   \   00006E   D082         POP     DPL
   \   000070   22           RET
    218          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    219          void halSetRadioPANID(UINT16 panid){
   \                     halSetRadioPANID:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    220            PANIDL = (BYTE) (panid);
   \   000004   EA           MOV     A,R2
   \   000005   90DF4C       MOV     DPTR,#-0x20b4
   \   000008   F0           MOVX    @DPTR,A
    221            PANIDH = (BYTE) (panid>>8);
   \   000009   EB           MOV     A,R3
   \   00000A   F9           MOV     R1,A
   \   00000B   E9           MOV     A,R1
   \   00000C   90DF4B       MOV     DPTR,#-0x20b5
   \   00000F   F0           MOVX    @DPTR,A
    222           }
   \   000010   D083         POP     DPH
   \   000012   D082         POP     DPL
   \   000014   22           RET
    223          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    224          void halSetRadioShortAddr(SADDR saddr){
   \                     halSetRadioShortAddr:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    225            SHORTADDRL = (BYTE) (saddr);
   \   000004   EA           MOV     A,R2
   \   000005   90DF4E       MOV     DPTR,#-0x20b2
   \   000008   F0           MOVX    @DPTR,A
    226            SHORTADDRH = (BYTE) (saddr>>8);
   \   000009   EB           MOV     A,R3
   \   00000A   F9           MOV     R1,A
   \   00000B   E9           MOV     A,R1
   \   00000C   90DF4D       MOV     DPTR,#-0x20b3
   \   00000F   F0           MOVX    @DPTR,A
    227          }
   \   000010   D083         POP     DPH
   \   000012   D082         POP     DPL
   \   000014   22           RET
    228          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    229          void halSetTxPower(BYTE val)
   \                     halSetTxPower:
    230          {
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 8
   \   000005   74F8         MOV     A,#-0x8
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    231              //val:0~7 ;0-min      7-max
    232               BYTE VALTAB[]={0xE3,0xE7,0xEB,0xEF,0xF3,0xF7,0xFB,0xFF};
   \   00000A   90....       MOV     DPTR,#`?<Constant {227, 231, 235, 239, 243, 247, 251,`
   \   00000D   C082         PUSH    DPL
   \   00000F   C083         PUSH    DPH
   \   000011   85..82       MOV     DPL,?XSP + 0
   \   000014   85..83       MOV     DPH,?XSP + 1
   \   000017   AC82         MOV     R4,DPL
   \   000019   AD83         MOV     R5,DPH
   \   00001B   D083         POP     DPH
   \   00001D   D082         POP     DPL
   \   00001F   7408         MOV     A,#0x8
   \   000021   12....       LCALL   ?MOVE_LONG8_XDATA_XDATA
    233              if(val>7)return;
   \   000024   E9           MOV     A,R1
   \   000025   C3           CLR     C
   \   000026   9408         SUBB    A,#0x8
   \   000028   501C         JNC     ??halSetTxPower_0
    234          	TXCTRLL=VALTAB[val];
   \   00002A   89..         MOV     ?V0 + 0,R1
   \   00002C   75..00       MOV     ?V0 + 1,#0x0
   \   00002F   85..82       MOV     DPL,?XSP + 0
   \   000032   85..83       MOV     DPH,?XSP + 1
   \   000035   E582         MOV     A,DPL
   \   000037   25..         ADD     A,?V0 + 0
   \   000039   F582         MOV     DPL,A
   \   00003B   E583         MOV     A,DPH
   \   00003D   35..         ADDC    A,?V0 + 1
   \   00003F   F583         MOV     DPH,A
   \   000041   E0           MOVX    A,@DPTR
   \   000042   90DF0B       MOV     DPTR,#-0x20f5
   \   000045   F0           MOVX    @DPTR,A
    235          }
   \                     ??halSetTxPower_0:
   \   000046   7408         MOV     A,#0x8
   \   000048   12....       LCALL   ?DEALLOC_XSTACK8
   \   00004B   7F02         MOV     R7,#0x2
   \   00004D   02....       LJMP    ?FUNC_LEAVE_XDATA
    236          
    237          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
    238          LRWPAN_STATUS_ENUM halInitRadio(PHY_FREQ_ENUM frequency, BYTE channel, RADIO_FLAGS radio_flags)
   \                     halInitRadio:
    239          {
   \   000000   74F8         MOV     A,#-0x8
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 8
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FE           MOV     R6,A
   \   000007   EA           MOV     A,R2
   \   000008   FF           MOV     R7,A
    240            LRWPAN_STATUS_ENUM status;
    241            DEBUG_STRING(DBG_TX,"halInitRadio()\n");
   \   000009   90....       MOV     DPTR,#debug_level
   \   00000C   E0           MOVX    A,@DPTR
   \   00000D   C3           CLR     C
   \   00000E   9402         SUBB    A,#0x2
   \   000010   4007         JC      ??halInitRadio_0
   \   000012                ; Setup parameters for call to function conPrintROMString_func
   \   000012   7A..         MOV     R2,#(??xxxxromstr & 0xff)
   \   000014   7B..         MOV     R3,#((??xxxxromstr >> 8) & 0xff)
   \   000016   12....       LCALL   conPrintROMString_func
    242          
    243            // Setting the frequency
    244            status = halSetRadioIEEEFrequency(frequency, channel);
   \                     ??halInitRadio_0:
   \   000019                ; Setup parameters for call to function halSetRadioIEEEFrequency
   \   000019   EF           MOV     A,R7
   \   00001A   FA           MOV     R2,A
   \   00001B   EE           MOV     A,R6
   \   00001C   F9           MOV     R1,A
   \   00001D   12....       LCALL   halSetRadioIEEEFrequency
   \   000020   E9           MOV     A,R1
   \   000021   F5..         MOV     ?V0 + 0,A
    245            if (status != LRWPAN_STATUS_SUCCESS) return(status);
   \   000023   E5..         MOV     A,?V0 + 0
   \   000025   6005         JZ      ??halInitRadio_1
   \   000027   A9..         MOV     R1,?V0 + 0
   \   000029   02....       LJMP    ??halInitRadio_2
    246          
    247            //turning on power to analog part of radio and waiting for voltage regulator.
    248            RFPWR = 0x04;
   \                     ??halInitRadio_1:
   \   00002C   7404         MOV     A,#0x4
   \   00002E   90DF17       MOV     DPTR,#-0x20e9
   \   000031   F0           MOVX    @DPTR,A
    249            while((RFPWR & 0x10)){}
   \                     ??halInitRadio_3:
   \   000032   90DF17       MOV     DPTR,#-0x20e9
   \   000035   E0           MOVX    A,@DPTR
   \   000036   A2E4         MOV     C,0xE0 /* A   */.4
   \   000038   40F8         JC      ??halInitRadio_3
    250            //radio_flags.listen_mode=1; //debug
    251            if (radio_flags.bits.listen_mode) {
   \   00003A   7408         MOV     A,#0x8
   \   00003C   12....       LCALL   ?XSTACK_DISP0_8
   \   00003F   E0           MOVX    A,@DPTR
   \   000040   5401         ANL     A,#0x1
   \   000042   A2E0         MOV     C,0xE0 /* A   */.0
   \   000044   5010         JNC     ??halInitRadio_4
    252              //corresponds to promiscuous modes

⌨️ 快捷键说明

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