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

📄 hal_led.lst

📁 用IAR开发的ZIGBEE网络路由例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   06/Nov/2008  11:13:21 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  banked                                            #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  E:\解决\路由\Components\hal\target\CC2430DB\hal_l #
#                          ed.c                                              #
#    Command line       =  -f E:\解决\路由\Projects\zstack\Samples\SampleApp #
#                          \CC2430DB\..\..\..\Tools\CC2430DB\f8wCoord.cfg    #
#                          (-DCPU32MHZ -DFORCE_MAC_NEAR -DROOT=__near_func   #
#                          -DMAC_CFG_APP_PENDING_QUEUE=TRUE                  #
#                          -DZDO_COORDINATOR -DRTR_NWK -DBLINK_LEDS          #
#                          "-DCONST=const __code" -DGENERIC=__generic) -f    #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\Tools\CC2430DB\f8wConfig.cfg      #
#                          (-DSECURE=0 -DDEFAULT_CHANLIST=0x00000800         #
#                          -DZDAPP_CONFIG_PAN_ID=0xFFFF                      #
#                          -DNWK_START_DELAY=100 -DEXTENDED_JOINING_RANDOM_M #
#                          ASK=0x007F -DBEACON_REQUEST_DELAY=100             #
#                          -DBEACON_REQ_DELAY_MASK=0x00FF                    #
#                          -DROUTE_EXPIRY_TIME=30 -DAPSC_ACK_WAIT_DURATION_P #
#                          OLLED=3000 -DNWK_INDIRECT_MSG_TIMEOUT=7           #
#                          -DMAX_RREQ_ENTRIES=10 -DAPSC_MAX_FRAME_RETRIES=3  #
#                          -DNWK_MAX_DATA_RETRIES=2                          #
#                          -DMAX_POLL_FAILURE_RETRIES=2 -DMAX_BCAST=9        #
#                          -DAPS_MAX_GROUPS=16 -DMAX_RTG_ENTRIES=20          #
#                          -DNWK_MAX_BINDING_ENTRIES=10                      #
#                          -DMAX_BINDING_CLUSTER_IDS=5                       #
#                          "-DDEFAULT_KEY={0x01, 0x03, 0x05, 0x07, 0x09,     #
#                          0x0B, 0x0D, 0x0F, 0x00, 0x02, 0x04, 0x06, 0x08,   #
#                          0x0A, 0x0C, 0x0D}" -DRFD_RCVC_ALWAYS_ON=FALSE     #
#                          -DPOLL_RATE=1000 -DQUEUED_POLL_RATE=100           #
#                          -DRESPONSE_POLL_RATE=100 -DREJOIN_POLL_RATE=440   #
#                          -DTOP_BOOT_PAGES=0) -I "D:\Program Files\IAR      #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\" -I "D:\Program Files\IAR       #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\clib\" -I                        #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\ -I E:\解决\路由\Projects\zstack\Samples\S #
#                          ampleApp\CC2430DB\..\Source\ -I                   #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\ZMain\TI2430DB\ -I                #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\..\..\Components\mt\ -I           #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\..\..\Components\hal\include\ -I  #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\..\..\Components\hal\target\CC243 #
#                          0DB\ -I E:\解决\路由\Projects\zstack\Samples\Samp #
#                          leApp\CC2430DB\..\..\..\..\..\Components\osal\mcu #
#                          \ccsoc\ -I E:\解决\路由\Projects\zstack\Samples\S #
#                          ampleApp\CC2430DB\..\..\..\..\..\Components\osal\ #
#                          include\ -I E:\解决\路由\Projects\zstack\Samples\ #
#                          SampleApp\CC2430DB\..\..\..\..\..\Components\stac #
#                          k\af\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
#                          pleApp\CC2430DB\..\..\..\..\..\Components\stack\n #
#                          wk\ -I E:\解决\路由\Projects\zstack\Samples\Sampl #
#                          eApp\CC2430DB\..\..\..\..\..\Components\stack\sec #
#                          \ -I E:\解决\路由\Projects\zstack\Samples\SampleA #
#                          pp\CC2430DB\..\..\..\..\..\Components\stack\sys\  #
#                          -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
#                          \CC2430DB\..\..\..\..\..\Components\stack\zdo\    #
#                          -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
#                          \CC2430DB\..\..\..\..\..\Components\zmac\f8w\ -I  #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\..\..\Components\zmac\ -I         #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\..\..\..\..\..\Components\services\saddr\  #
#                          -I E:\解决\路由\Projects\zstack\Samples\SampleApp #
#                          \CC2430DB\..\..\..\..\..\Components\services\sdat #
#                          a\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
#                          App\CC2430DB\..\..\..\..\..\Components\mac\includ #
#                          e\ -I E:\解决\路由\Projects\zstack\Samples\Sample #
#                          App\CC2430DB\..\..\..\..\..\Components\mac\high_l #
#                          evel\ -I E:\解决\路由\Projects\zstack\Samples\Sam #
#                          pleApp\CC2430DB\..\..\..\..\..\Components\mac\low #
#                          _level\srf03\ -I E:\解决\路由\Projects\zstack\Sam #
#                          ples\SampleApp\CC2430DB\..\..\..\..\..\Components #
#                          \mac\low_level\srf03\single_chip\ -D CC2430DB     #
#                          -lC E:\解决\路由\Projects\zstack\Samples\SampleAp #
#                          p\CC2430DB\CoordinatorDB\List\ -lA                #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\CoordinatorDB\List\ --diag_suppress        #
#                          Pe001,Pa010 --diag_remark pe550 -o                #
#                          E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\CoordinatorDB\Obj\ -e                      #
#                          --require_prototypes -z9 --no_code_motion         #
#                          --debug --core=plain --dptr=16,1                  #
#                          --data_model=large --code_model=banked            #
#                          --calling_convention=xdata_reentrant              #
#                          --place_constants=data --nr_virtual_regs 8        #
#                          E:\解决\路由\Components\hal\target\CC2430DB\hal_l #
#                          ed.c                                              #
#    List file          =  E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\CoordinatorDB\List\hal_led.lst             #
#    Object file        =  E:\解决\路由\Projects\zstack\Samples\SampleApp\CC #
#                          2430DB\CoordinatorDB\Obj\hal_led.r51              #
#                                                                            #
#                                                                            #
##############################################################################

E:\解决\路由\Components\hal\target\CC2430DB\hal_led.c
      1          /**************************************************************************************************
      2              Filename:       hal_led.c
      3              Revised:        $Date: 2007-03-07 16:10:30 -0800 (Wed, 07 Mar 2007) $
      4              Revision:       $Revision: 13711 $
      5          
      6              Description:
      7          
      8              This file contains the interface to the HAL LED Service.
      9          
     10              Copyright (c) 2006 by Texas Instruments, Inc.
     11              All Rights Reserved.  Permission to use, reproduce, copy, prepare
     12              derivative works, modify, distribute, perform, display or sell this
     13              software and/or its documentation for any purpose is prohibited
     14              without the express written consent of Texas Instruments, Inc.
     15          **************************************************************************************************/
     16          
     17          /***************************************************************************************************
     18           *                                             INCLUDES
     19           ***************************************************************************************************/
     20          #include "hal_mcu.h"
     21          #include "hal_defs.h"
     22          #include "hal_types.h"
     23          #include "hal_drivers.h"
     24          #include "hal_led.h"
     25          #include "osal.h"
     26          #include "hal_board.h"
     27          
     28          /***************************************************************************************************
     29           *                                             CONSTANTS
     30           ***************************************************************************************************/
     31          
     32          /***************************************************************************************************
     33           *                                              MACROS
     34           ***************************************************************************************************/
     35          
     36          /***************************************************************************************************
     37           *                                              TYPEDEFS
     38           ***************************************************************************************************/
     39          /* LED control structure */
     40          typedef struct {
     41            uint8 mode;       /* Operation mode */
     42            uint8 todo;       /* Blink cycles left */
     43            uint8 onPct;      /* On cycle percentage */
     44            uint16 time;      /* On/off cycle time (msec) */
     45            uint32 next;      /* Time for next change */
     46          } HalLedControl_t;
     47          
     48          typedef struct
     49          {
     50            HalLedControl_t HalLedControlTable[HAL_LED_DEFAULT_MAX_LEDS];
     51            uint8           sleepActive;
     52          } HalLedStatus_t;
     53          
     54          
     55          /***************************************************************************************************
     56           *                                           GLOBAL VARIABLES
     57           ***************************************************************************************************/
     58          
     59          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     60          static uint8 HalLedState;              // LED state at last set/clr/blink update
   \                     ??HalLedState:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     61          static uint8 HalSleepLedState;         // LED state at last set/clr/blink update
   \                     ??HalSleepLedState:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     62          static uint8 preBlinkState;            // Original State before going to blink mode
   \                     ??preBlinkState:
   \   000000                DS 1
     63                                                 // bit 0, 1, 2, 3 represent led 0, 1, 2, 3
     64          
     65          #ifdef BLINK_LEDS

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     66            static HalLedStatus_t HalLedStatusControl;
   \                     ??HalLedStatusControl:
   \   000000                DS 37
     67          #endif
     68          
     69          /***************************************************************************************************
     70           *                                            LOCAL FUNCTION
     71           ***************************************************************************************************/
     72          #if (HAL_LED == TRUE)
     73          void HalLedUpdate (void);
     74          void HalLedOnOff (uint8 leds, uint8 mode);
     75          #endif /* HAL_LED */
     76          
     77          /***************************************************************************************************
     78           *                                            FUNCTIONS - API
     79           ***************************************************************************************************/
     80          
     81          /***************************************************************************************************
     82           * @fn      HalLedInit
     83           *
     84           * @brief   Initialize LED Service
     85           *
     86           * @param   init - pointer to void that contains the initialized value
     87           *
     88           * @return  None
     89           ***************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
     90          void HalLedInit (void)
   \                     HalLedInit:
     91          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     92          #if (HAL_LED == TRUE)
     93            /* Initialize all LEDs to OFF */
     94            HalLedSet (HAL_LED_ALL, HAL_LED_MODE_OFF);
   \   000004                ; Setup parameters for call to function HalLedSet
   \   000004   7A00         MOV     R2,#0x0
   \   000006   790F         MOV     R1,#0xf
   \   000008   90....       MOV     DPTR,#(HalLedSet & 0xffff)
   \   00000B   74..         MOV     A,#((HalLedSet >> 16) & 0xff)
   \   00000D   02....       LJMP    ?Subroutine10 & 0xFFFF
     95            /* Initialize sleepActive to FALSE */
     96            HalLedStatusControl.sleepActive = FALSE;
     97          #endif /* HAL_LED */
     98          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine10:
   \   000000   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000003   E4           CLR     A
   \   000004   90....       MOV     DPTR,#(??HalLedStatusControl + 36)
   \                     ??Subroutine10_0:
   \   000007   F0           MOVX    @DPTR,A
   \                     ??Subroutine10_1:
   \   000008   D083         POP     DPH
   \   00000A   D082         POP     DPL
   \   00000C   02....       LJMP    ?BRET
     99          

⌨️ 快捷键说明

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