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

📄 apphardwareapi.h

📁 此程式庫有許多的zigbee程式源碼
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************** * * MODULE:              Application Hardware API * * COMPONENT:           $RCSfile: AppHardwareApi.h,v $ * * VERSION:             $Name: zed003_cd $ * * REVISION:            $Revision: 1.22 $ * * DATED:               $Date: 2006/03/01 17:04:23 $ * * STATUS:              $State: Exp $ * * AUTHOR:              CJG * * DESCRIPTION: * Abstraction of the hardware peripherals available on the 802.15.4 chip * that are not used directly for 802.15.4, such as UARTs and timers. * * LAST MODIFIED BY:    $Author: moz $ *                      $Modtime: $ * **************************************************************************** * *  (c) Copyright JENNIC Ltd 2006 * ****************************************************************************/#ifndef  AHI_H_INCLUDED#define  AHI_H_INCLUDED#if defined __cplusplusextern "C" {#endif/****************************************************************************//***        Include Files                                                 ***//****************************************************************************/#include <jendefs.h>/****************************************************************************//***        Macro Definitions                                             ***//****************************************************************************//* Device enumerations */#define E_AHI_WAKE_TIMER_0         0#define E_AHI_WAKE_TIMER_1         1#define E_AHI_DAC_0                0#define E_AHI_DAC_1                1#define E_AHI_COMPARATOR_0         0#define E_AHI_COMPARATOR_1         1#define E_AHI_UART_0               0#define E_AHI_UART_1               1#define E_AHI_TIMER_0              0#define E_AHI_TIMER_1              1/* Value enumerations: wake timer */#define E_AHI_WAKE_TIMER_MASK_0    1#define E_AHI_WAKE_TIMER_MASK_1    2/* Value enumerations: Analogue Peripherals */#define E_AHI_ADC_SRC_ADC_1        0#define E_AHI_ADC_SRC_ADC_2        1#define E_AHI_ADC_SRC_ADC_3        2#define E_AHI_ADC_SRC_ADC_4        3#define E_AHI_ADC_SRC_TEMP         4#define E_AHI_ADC_SRC_VOLT         5#define E_AHI_AP_REGULATOR_ENABLE  TRUE#define E_AHI_AP_REGULATOR_DISABLE FALSE#define E_AHI_AP_SAMPLE_2          0#define E_AHI_AP_SAMPLE_4          1#define E_AHI_AP_SAMPLE_6          2#define E_AHI_AP_SAMPLE_8          3#define E_AHI_AP_CLOCKDIV_2MHZ     0#define E_AHI_AP_CLOCKDIV_1MHZ     1#define E_AHI_AP_CLOCKDIV_500KHZ   2#define E_AHI_AP_CLOCKDIV_250KHZ   3#define E_AHI_AP_INPUT_RANGE_2     TRUE#define E_AHI_AP_INPUT_RANGE_1     FALSE#define E_AHI_AP_GAIN_2            TRUE#define E_AHI_AP_GAIN_1            FALSE#define E_AHI_AP_EXTREF            TRUE#define E_AHI_AP_INTREF            FALSE#define E_AHI_ADC_CONVERT_ENABLE   TRUE#define E_AHI_ADC_CONVERT_DISABLE  FALSE#define E_AHI_AP_INT_ENABLE        TRUE#define E_AHI_AP_INT_DISABLE       FALSE#define E_AHI_DAC_RETAIN_ENABLE    TRUE#define E_AHI_DAC_RETAIN_DISABLE   FALSE/* Value enumerations: Comparator */#define E_AHI_COMP_HYSTERESIS_0MV  0#define E_AHI_COMP_HYSTERESIS_5MV  1#define E_AHI_COMP_HYSTERESIS_10MV 2#define E_AHI_COMP_HYSTERESIS_20MV 3#define E_AHI_COMPARATOR_MASK_0    1#define E_AHI_COMPARATOR_MASK_1    2#define E_AHI_COMP_SEL_EXT         0x00#define E_AHI_COMP_SEL_DAC         0x01#define E_AHI_COMP_SEL_BANDGAP     0x10/* Value enumerations: UART */#define E_AHI_UART_RATE_4800       0#define E_AHI_UART_RATE_9600       1#define E_AHI_UART_RATE_19200      2#define E_AHI_UART_RATE_38400      3#define E_AHI_UART_RATE_76800      4#define E_AHI_UART_RATE_115200     5#define E_AHI_UART_WORD_LEN_5      0#define E_AHI_UART_WORD_LEN_6      1#define E_AHI_UART_WORD_LEN_7      2#define E_AHI_UART_WORD_LEN_8      3#define E_AHI_UART_FIFO_LEVEL_1    0#define E_AHI_UART_FIFO_LEVEL_4    1#define E_AHI_UART_FIFO_LEVEL_8    2#define E_AHI_UART_FIFO_LEVEL_14   3#define E_AHI_UART_LS_ERROR        0x80#define E_AHI_UART_LS_TEMT         0x40#define E_AHI_UART_LS_THRE         0x20#define E_AHI_UART_LS_BI           0x10#define E_AHI_UART_LS_FE           0x08#define E_AHI_UART_LS_PE           0x04#define E_AHI_UART_LS_OE           0x02#define E_AHI_UART_LS_DR           0x01#define E_AHI_UART_MS_DCTS         0x01#define E_AHI_UART_INT_MODEM       0#define E_AHI_UART_INT_TX          1#define E_AHI_UART_INT_RXDATA      2#define E_AHI_UART_INT_RXLINE      3#define E_AHI_UART_INT_TIMEOUT     6/* Value enumerations: Serial Interface */#define E_AHI_SPIM_MSB_FIRST       FALSE#define E_AHI_SPIM_LSB_FIRST       TRUE#define E_AHI_SPIM_TXPOS_EDGE      FALSE#define E_AHI_SPIM_TXNEG_EDGE      TRUE#define E_AHI_SPIM_RXPOS_EDGE      FALSE#define E_AHI_SPIM_RXNEG_EDGE      TRUE#define E_AHI_SPIM_INT_ENABLE      TRUE#define E_AHI_SPIM_INT_DISABLE     FALSE#define E_AHI_SPIM_AUTOSLAVE_ENBL  TRUE#define E_AHI_SPIM_AUTOSLAVE_DSABL FALSE#define E_AHI_SPIM_SLAVE_ENBLE_0   0x1#define E_AHI_SPIM_SLAVE_ENBLE_1   0x2#define E_AHI_SPIM_SLAVE_ENBLE_2   0x4#define E_AHI_SPIM_SLAVE_ENBLE_3   0x8#define E_AHI_SI_INT_AL            0x20#define E_AHI_IP_MAX_MSG_SIZE      0x3F#define E_AHI_IP_TXPOS_EDGE        FALSE#define E_AHI_IP_TXNEG_EDGE        TRUE#define E_AHI_IP_RXPOS_EDGE        FALSE#define E_AHI_IP_RXNEG_EDGE        TRUE#define E_AHI_IP_BIG_ENDIAN        TRUE#define E_AHI_IP_LITTLE_ENDIAN     FALSE/* Value enumerations: Timer */#define E_AHI_TIMER_INT_PERIOD     1#define E_AHI_TIMER_INT_RISE       2/* Value enumerations: Tick Timer */#define E_AHI_TICK_TIMER_DISABLE   0x00 /* Disable tick timer */#define E_AHI_TICK_TIMER_RESTART   0x01 /* Restart timer when match occurs */#define E_AHI_TICK_TIMER_STOP      0x02 /* Stop timer when match occurs */#define E_AHI_TICK_TIMER_CONT      0x03 /* Timer does not stop when match occurs *//* Value enumerations: DIO */#define E_AHI_DIO0_INT             0x00000001#define E_AHI_DIO1_INT             0x00000002#define E_AHI_DIO2_INT             0x00000004#define E_AHI_DIO3_INT             0x00000008#define E_AHI_DIO4_INT             0x00000010#define E_AHI_DIO5_INT             0x00000020#define E_AHI_DIO6_INT             0x00000040#define E_AHI_DIO7_INT             0x00000080#define E_AHI_DIO8_INT             0x00000100#define E_AHI_DIO9_INT             0x00000200#define E_AHI_DIO10_INT            0x00000400#define E_AHI_DIO11_INT            0x00000800#define E_AHI_DIO12_INT            0x00001000#define E_AHI_DIO13_INT            0x00002000#define E_AHI_DIO14_INT            0x00004000#define E_AHI_DIO15_INT            0x00008000#define E_AHI_DIO16_INT            0x00010000#define E_AHI_DIO17_INT            0x00020000#define E_AHI_DIO18_INT            0x00040000#define E_AHI_DIO19_INT            0x00080000#define E_AHI_DIO20_INT            0x00100000/* Version number of module */#define AHI_VERSION                0x00010008/****************************************************************************//***        Type Definitions                                              ***//****************************************************************************/#ifndef AHI_DEVICE_ENUM#define AHI_DEVICE_ENUM/* Device types, used to identify interrupt source */typedef enum{    E_AHI_DEVICE_TICK_TIMER = 0, /* Tick timer */    E_AHI_DEVICE_SYSCTRL = 2,    /* System controller */    E_AHI_DEVICE_BBC,            /* Baseband controller */    E_AHI_DEVICE_AES,            /* Encryption engine */    E_AHI_DEVICE_PHYCTRL,        /* Phy controller */    E_AHI_DEVICE_UART0,          /* UART 0 */    E_AHI_DEVICE_UART1,          /* UART 1 */    E_AHI_DEVICE_TIMER0,         /* Timer 0 */    E_AHI_DEVICE_TIMER1,         /* Timer 1 */    E_AHI_DEVICE_SI,             /* Serial Interface (2 wire) */    E_AHI_DEVICE_SPIM,           /* SPI master */    E_AHI_DEVICE_INTPER,         /* Intelligent peripheral */    E_AHI_DEVICE_ANALOGUE        /* Analogue peripherals */} teAHI_Device;/* Individual interrupts */typedef enum{    E_AHI_SYSCTRL_WK0 = 26,   /* Wake timer 0 */    E_AHI_SYSCTRL_WK1 = 27    /* Wake timer 1 */} teAHI_Item;#endiftypedef void (*PR_HWINT_APPCALLBACK)(uint32 u32Device, uint32 u32ItemBitmap);typedef uint32 tSpiConfiguration;/****************************************************************************//***        Exported Functions                                            ***//****************************************************************************//****************************************************************************//*** ROM Function Pointer typedefs                                        ***//***                                                                      ***//*** These typedefs are used as prototype definitions for the functions   ***//*** that live in ROM.                                                    ***//****************************************************************************//* Initialisation */typedef uint32 (*tpru32AHI_InitRom)(void);/* System controller */typedef uint8  (*tpru8AHI_PowerStatus)(void);typedef void   (*tprvAHI_ProtocolPower)(bool_t);typedef void   (*tprvAHI_MemoryHold)(bool_t);typedef void   (*tprvAHI_CpuDoze)(void);typedef void   (*tprvAHI_PowerDown)(bool_t);typedef void   (*tprvAHI_SysCtrlRegisterCallback)(PR_HWINT_APPCALLBACK);/* ADC/DAC */typedef void   (*tprvAHI_ApConfigure)( bool_t, bool_t, uint8, uint8, bool_t);typedef bool_t (*tprbAHI_APRegulatorEnabled)(void);typedef void   (*tprvAHI_APRegisterCallback)(PR_HWINT_APPCALLBACK);typedef void   (*tprvAHI_AdcEnable)(bool_t, bool_t, uint8);typedef void   (*tprvAHI_AdcDisable)(void);typedef void   (*tprvAHI_AdcStartSample)(void);typedef bool_t (*tprbAHI_AdcPoll)(void);typedef uint16 (*tpru16AHI_AdcRead)(void);typedef void   (*tprvAHI_DacEnable)(uint8, bool_t, bool_t, uint16);typedef bool_t (*tprbAHI_DacPoll)(void);typedef void   (*tprvAHI_DacOutput)(uint8, uint16);typedef void   (*tprvAHI_DacDisable)(uint8);/* Comparators */typedef void   (*tprvAHI_ComparatorEnable)(uint8, uint8, uint8);typedef void   (*tprvAHI_ComparatorDisable)(uint8);typedef void   (*tprvAHI_ComparatorIntEnable)(uint8, bool_t, bool_t);typedef void   (*tprvAHI_ComparatorWakeEnable)(uint8, bool_t, bool_t);typedef uint8  (*tpru8AHI_ComparatorStatus)(void);typedef uint8  (*tpru8AHI_ComparatorWakeStatus)(void);/* Wake timers */

⌨️ 快捷键说明

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