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

📄 hal_key.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   08/Mar/2009  09:13:31 #
# 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        =  C:\Texas Instruments\ZStack-1.4.2-1.1.0\Component #
#                          s\hal\target\CC2430DB\hal_key.c                   #
#    Command line       =  -f "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Proje #
#                          cts\zstack\Samples\GenericApp\CC2430DB\..\..\..\T #
#                          ools\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    #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\Tool #
#                          s\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 "C:\Program Files\IAR      #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\" -I "C:\Program Files\IAR       #
#                          Systems\Embedded Workbench 4.05 Evaluation        #
#                          version\8051\inc\clib\" -I "C:\Texas              #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\" -I "C:\Texas          #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\Source\" -I          #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\ZMai #
#                          n\TI2430DB\" -I "C:\Texas                         #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mt\" -I "C:\Texas Instruments\ZStack-1.4.2-1.1 #
#                          .0\Projects\zstack\Samples\GenericApp\CC2430DB\.. #
#                          \..\..\..\..\Components\hal\include\" -I          #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\..\. #
#                          .\Components\hal\target\CC2430DB\" -I "C:\Texas   #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\osal\mcu\ccsoc\" -I "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\osal\include\" -I "C:\Texas                    #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\af\" -I "C:\Texas                        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\nwk\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\sec\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\sys\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\stack\zdo\" -I "C:\Texas                       #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\zmac\f8w\" -I "C:\Texas                        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\zmac\" -I "C:\Texas Instruments\ZStack-1.4.2-1 #
#                          .1.0\Projects\zstack\Samples\GenericApp\CC2430DB\ #
#                          ..\..\..\..\..\Components\services\saddr\" -I     #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\..\..\..\..\. #
#                          .\Components\services\sdata\" -I "C:\Texas        #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\include\" -I "C:\Texas                     #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\high_level\" -I "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\low_level\srf03\" -I "C:\Texas             #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\..\..\..\..\..\Componen #
#                          ts\mac\low_level\srf03\single_chip\" -D CC2430DB  #
#                          -D COORDINATOR_BINDING -D xZTOOL_P2 -D xMT_TASK   #
#                          -D xMT_ZDO_FUNC -D xLCD_SUPPORTED=DEBUG -lC       #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects #
#                          \zstack\Samples\GenericApp\CC2430DB\CoordinatorDB #
#                          \List\" -lA "C:\Texas Instruments\ZStack-1.4.2-1. #
#                          1.0\Projects\zstack\Samples\GenericApp\CC2430DB\C #
#                          oordinatorDB\List\" --diag_suppress Pe001,Pa010   #
#                          --diag_remark pe550 -o "C:\Texas                  #
#                          Instruments\ZStack-1.4.2-1.1.0\Projects\zstack\Sa #
#                          mples\GenericApp\CC2430DB\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        #
#                          "C:\Texas Instruments\ZStack-1.4.2-1.1.0\Componen #
#                          ts\hal\target\CC2430DB\hal_key.c"                 #
#    List file          =  C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects\ #
#                          zstack\Samples\GenericApp\CC2430DB\CoordinatorDB\ #
#                          List\hal_key.lst                                  #
#    Object file        =  C:\Texas Instruments\ZStack-1.4.2-1.1.0\Projects\ #
#                          zstack\Samples\GenericApp\CC2430DB\CoordinatorDB\ #
#                          Obj\hal_key.r51                                   #
#                                                                            #
#                                                                            #
##############################################################################

C:\Texas Instruments\ZStack-1.4.2-1.1.0\Components\hal\target\CC2430DB\hal_key.c
      1          /**************************************************************************************************
      2              Filename:       hal_key.c
      3              Revised:        $Date: 2007-03-29 16:44:28 -0700 (Thu, 29 Mar 2007) $
      4              Revision:       $Revision: 13896 $
      5          
      6              Description:
      7          
      8              This file contains the interface to the HAL KEY 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           NOTE: If polling is used, the hal_driver task schedules the KeyRead()
     18                 to occur every 100ms.  This should be long enough to naturally
     19                 debounce the keys.  The KeyRead() function remembers the key
     20                 state of the previous poll and will only return a non-zero
     21                 value if the key state changes.
     22          
     23           NOTE: If interrupts are used, the KeyRead() function is scheduled
     24                 25ms after the interrupt occurs by the ISR.  This delay is used
     25                 for key debouncing.  The ISR disables any further Key interrupt
     26                 until KeyRead() is executed.  KeyRead() will re-enable Key
     27                 interrupts after executing.  Unlike polling, when interrupts
     28                 are enabled, the previous key state is not remembered.  This
     29                 means that KeyRead() will return the current state of the keys
     30                 (not a change in state of the keys).
     31          
     32           NOTE: If interrupts are used, the KeyRead() fucntion is scheduled by
     33                 the ISR.  Therefore, the joystick movements will only be detected
     34                 during a pushbutton interrupt caused by S1 or the center joystick
     35                 pushbutton.
     36          
     37           NOTE: When a switch like S1 is pushed, the S1 signal goes from a normally
     38                 high state to a low state.  This transition is typically clean.  The
     39                 duration of the low state is around 200ms.  When the signal returns
     40                 to the high state, there is a high likelihood of signal bounce, which
     41                 causes a unwanted interrupts.  Normally, we would set the interrupt
     42                 edge to falling edge to generate an interrupt when S1 is pushed, but
     43                 because of the signal bounce, it is better to set the edge to rising
     44                 edge to generate an interrupt when S1 is released.  The debounce logic
     45                 can then filter out the signal bounce.  The result is that we typically
     46                 get only 1 interrupt per button push.  This mechanism is not totally
     47                 foolproof because occasionally, signal bound occurs during the falling
     48                 edge as well.  A similar mechanism is used to handle the joystick
     49                 pushbutton on the DB.  For the EB, we do not have independent control
     50                 of the interrupt edge for the S1 and center joystick pushbutton.  As
     51                 a result, only one or the other pushbuttons work reasonably well with
     52                 interrupts.  The default is the make the S1 switch on the EB work more
     53                 reliably.
     54          
     55          *********************************************************************/
     56          
     57          /**************************************************************************************************
     58           *                                            INCLUDES
     59           **************************************************************************************************/
     60          #include "hal_mcu.h"

   \                                 In segment SFR_AN, at 0x89
   \   unsigned char volatile __sfr P0IFG
   \                     P0IFG:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x8b
   \   unsigned char volatile __sfr P2IFG
   \                     P2IFG:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x8c
   \   unsigned char volatile __sfr PICTL
   \                     PICTL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x9a
   \   unsigned char volatile __sfr IEN2
   \                     IEN2:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xf3
   \   unsigned char volatile __sfr P0SEL
   \                     P0SEL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xf5
   \   unsigned char volatile __sfr P2SEL
   \                     P2SEL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xf7
   \   unsigned char volatile __sfr P2INP
   \                     P2INP:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xfd
   \   unsigned char volatile __sfr P0DIR
   \                     P0DIR:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xff
   \   unsigned char volatile __sfr P2DIR
   \                     P2DIR:
   \   000000                DS 1
     61          #include "hal_defs.h"
     62          #include "hal_types.h"
     63          #include "hal_drivers.h"

⌨️ 快捷键说明

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