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

📄 app_receiver.c

📁 CC2430 上面运行TinyOS&nbsp2.0 测试程序 可以在CC2430上面运行TinyOS&nbsp2.0无线传感器网络操作系统 具体使用见下载包里面的使用说明。
💻 C
📖 第 1 页 / 共 5 页
字号:
sfr IEN2 = 0x9A;sfr S1CON = 0x9B;sbit RFERRIE = 0xA8;sbit URX0IE = 0xAA;sfr SLEEP = 0xBE;sfr U0BUF = 0xC1;sfr U0BAUD = 0xC2;sfr U0UCR = 0xC4;sfr U0GCR = 0xC5;sfr CLKCON = 0xC6;sfr RFD = 0xD9;sfr RFST = 0xE1;sfr T1CNTL = 0xE2;sfr T1CNTH = 0xE3;sbit UTX0IF = 0xE9;sfr RFIF = 0xE9;sfr PERCFG = 0xF1;sfr P1_DIR = 0xFE;sfr P0_ALT = 0xF3;//typedef uint16_t uint16_t xdata;//typedef uint8_t uint8_t xdata;//typedef uint16_t uint16_t code;//typedef uint8_t uint8_t code;enum __nesc_unnamed4259 {  CC2430_RFPWR_ADI_RADIO_PD = 0x4,   CC2430_RFPWR_RREG_RADIO_PD = 0x3,   CC2430_RFPWR_RREG_DELAY = 0x0,   CC2430_RFPWR_RREG_DELAY_MASK = 0x7};enum __nesc_unnamed4260 {  CC2430_RREG_DELAY_0 = 0x0,   CC2430_RREG_DELAY_31 = 0x1,   CC2430_RREG_DELAY_63 = 0x2,   CC2430_RREG_DELAY_125 = 0x3,   CC2430_RREG_DELAY_250 = 0x4,   CC2430_RREG_DELAY_500 = 0x5,   CC2430_RREG_DELAY_1000 = 0x6,   CC2430_RREG_DELAY_2000 = 0x7};enum __nesc_unnamed4261 {  CC2430_MDMCTRL0L_AUTOCRC = 0x5,   CC2430_MDMCTRL0L_AUTOACK = 0x4};enum __nesc_unnamed4262 {  CC2430_MDMCTRL0H_FRAME_FILT = 0x6,   CC2430_MDMCTRL0H_RESERVED_FRAME_MODE = 0x5,   CC2430_MDMCTRL0H_PAN_COORDINATOR = 0x4,   CC2430_MDMCTRL0H_ADDR_DECODE = 0x3,   CC2430_MDMCTRL0H_CCA_HYST = 0x0};enum __nesc_unnamed4263 {  CC2430_RFSTATUS_TX_ACTIVE = 0x4,   CC2430_RFSTATUS_FIFO = 0x3,   CC2430_RFSTATUS_FIFOP = 0x2,   CC2430_RFSTATUS_SFD = 0x1,   CC2430_RFSTATUS_CCA = 0x0};typedef uint8_t __nesc_atomic_t;static   /*inline*/   void __nesc_disable_interrupt(void);static   /*inline*/   void __nesc_enable_interrupt(void);  /*inline*/   __nesc_atomic_t __nesc_atomic_start(void )  ;  /*inline*/   void __nesc_atomic_end(__nesc_atomic_t oldSreg)  ;enum __nesc_unnamed4264 {  CC2430_SLEEP_OSC32K_CALDIS = 7,   CC2430_SLEEP_XOSC_STB = 6,   CC2430_SLEEP_HFRC_STB = 5,   CC2430_SLEEP_DIV = 3,   CC2430_SLEEP_OSC_PD = 2,   CC2430_SLEEP_MODE = 0,   CC2430_SLEEP_MODE_MASK = 3};enum __nesc_unnamed4265 {  CC2430_SLEEP_POWERMODE_0 = 0,   CC2430_SLEEP_POWERMODE_1 = 1,   CC2430_SLEEP_POWERMODE_2 = 2,   CC2430_SLEEP_POWERMODE_3 = 3};enum __nesc_unnamed4266 {  CC2430_CLKCON_OSC32K = 7,   CC2430_CLKCON_OSC = 6,   CC2430_CLKCON_TICKSPD = 3,   CC2430_CLKCON_CLKSPD = 0,   CC2430_CLKCON_TICKSPD_MASK = 0x38};enum cc2430_tick_spd_t {  CC2430_TICKF_DIV_1 = 0x0 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_2 = 0x1 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_4 = 0x2 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_8 = 0x3 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_16 = 0x4 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_32 = 0x5 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_64 = 0x6 << CC2430_CLKCON_TICKSPD,   CC2430_TICKF_DIV_128 = 0x7 << CC2430_CLKCON_TICKSPD};enum __nesc_unnamed4267 {  CC2430_T1CTL_CH2IF = 0x7,   CC2430_T1CTL_CH1IF = 0x6,   CC2430_T1CTL_CH0IF = 0x5,   CC2430_T1CTL_OVFIF = 0x4,   CC2430_T1CTL_DIV = 0x2,   CC2430_T1CTL_MODE = 0x0,   CC2430_T1CTL_MODE_MASK = 0x3,   CC2430_T1CTL_DIV_MASK = 0xc,   CC2430_T1CTL_IF_MASK = 0xf0};enum cc2430_timer1_mode_t {  CC2430_TIMER1_MODE_OFF = 0x0 << CC2430_T1CTL_MODE,   CC2430_TIMER1_MODE_FREE = 0x1 << CC2430_T1CTL_MODE,   CC2430_TIMER1_MODE_MODULO = 0x2 << CC2430_T1CTL_MODE,   CC2430_TIMER1_MODE_UPDOWN = 0x3 << CC2430_T1CTL_MODE};enum cc2430_timer1_if_t {  CC2430_T1_CH2IF = 1 << CC2430_T1CTL_CH2IF,   CC2430_T1_CH1IF = 1 << CC2430_T1CTL_CH1IF,   CC2430_T1_CH0IF = 1 << CC2430_T1CTL_CH0IF,   CC2430_T1_OVFIF = 1 << CC2430_T1CTL_OVFIF};enum cc2430_timer1_prescaler_t {  CC2430_TIMER1_DIV_1 = 0x0 << CC2430_T1CTL_DIV,   CC2430_TIMER1_DIV_8 = 0x1 << CC2430_T1CTL_DIV,   CC2430_TIMER1_DIV_32 = 0x2 << CC2430_T1CTL_DIV,   CC2430_TIMER1_DIV_128 = 0x3 << CC2430_T1CTL_DIV};enum __nesc_unnamed4268 {  CC2430_T1CCTLx_CPSEL = 0x7,   CC2430_T1CCTLx_IM = 0x6,   CC2430_T1CCTLx_CMP = 0x3,   CC2430_T1CCTLx_MODE = 0x2,   CC2430_T1CCTLx_CAP = 0x0};enum cc2430_timerMAC_mode_t {  CC2430_TIMERMAC_MODE_IDLE = 0x0,   CC2430_TIMERMAC_MODE_RUN = 0x1};enum cc2430_timerMAC_T2CNF_t {  CC2430_T2CNF_CMPIF = 0x7,   CC2430_T2CNF_PERIF = 0x6,   CC2430_T2CNF_OFCMPIF = 0x5,   CC2430_T2CNF_CMSEL = 0x3,   CC2430_T2CNF_SYNC = 0x1,   CC2430_T2CNF_RUN = 0x0};enum cc2430_timerMAC_T2PEROF2_t {  CC2430_T2PEROF2_CMPIM = 0x7,   CC2430_T2PEROF2_PERIM = 0x6,   CC2430_T2PEROF2_OFCMPIM = 0x5};enum cc2430_timerMAC_if_t {  CC2430_TMAC_CMPIF = 1 << CC2430_T2CNF_CMPIF,   CC2430_TMAC_PERIF = 1 << CC2430_T2CNF_PERIF,   CC2430_TMAC_OFCMPIF = 1 << CC2430_T2CNF_OFCMPIF};enum cc2430_timerMAC_interval_t {  CC2430_TIMERWDT_32768 = 0,   CC2430_TIMERWDT_8192 = 1,   CC2430_TIMERWDT_512 = 2,   CC2430_TIMERWDT_64 = 3};enum __nesc_unnamed4269 {  CC2430_TIMIF_OVFIM = 0x6};enum cc2430_timer34_if_t {  CC2430_TIMIF_T4CH1IF = 0x5,   CC2430_TIMIF_T4CH0IF = 0x4,   CC2430_TIMIF_T4OVFIF = 0x3,   CC2430_TIMIF_T3CH1IF = 0x2,   CC2430_TIMIF_T3CH0IF = 0x1,   CC2430_TIMIF_T3OVFIF = 0x0};enum cc2430_timer3_4_mode_t {  CC2430_TIMER3_4_MODE_FREE = 0x0,   CC2430_TIMER3_4_MODE_DOWN = 0x1,   CC2430_TIMER3_4_MODE_MODULO = 0x2,   CC2430_TIMER3_4_MODE_UPDOWN = 0x3};enum __nesc_unnamed4270 {  CC2430_T34CTL_DIV = 0x5,   CC2430_T34CTL_START = 0x4,   CC2430_T34CTL_OVFIM = 0x3,   CC2430_T34CTL_WDTIF = 0x3,   CC2430_T34CTL_CLR = 0x2,   CC2430_T34CTL_MODE = 0x0,   CC2430_T34CTL_MODE_MASK = 0x3,   CC2430_T34CTL_DIV_MASK = 0xe0};enum cc2430_timer3_4_prescaler_t {  CC2430_TIMER3_4_DIV_1 = 0x0 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_2 = 0x1 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_4 = 0x2 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_8 = 0x3 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_16 = 0x4 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_32 = 0x5 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_64 = 0x6 << CC2430_T34CTL_DIV,   CC2430_TIMER3_4_DIV_128 = 0x7 << CC2430_T34CTL_DIV};enum __nesc_unnamed4271 {  CC2430_WDCTL_CLR = 0x4,   CC2430_WDCTL_EN = 0x3,   CC2430_WDCTL_MODE = 0x2,   CC2430_WDCTL_INT = 0x0,   CC2430_WDCTL_INT_MASK = 0x3};enum cc2430_timerWDT_mode_t {  CC2430_TIMERWDT_MODE_WDT = 0x0 << CC2430_WDCTL_MODE,   CC2430_TIMERWDT_MODE_TIMER = 0x1 << CC2430_WDCTL_MODE};typedef uint8_t TMilli;typedef uint8_t T32khz;typedef uint8_t TMicro;typedef uint16_t mac_addr_t;typedef uint8_t ieee_mac_addr_t[8];enum fcf_stuff {  FCF_FT_BEACON = 0x0000,   FCF_FT_DATA = 0x0001,   FCF_FT_ACK = 0x0002,   FCF_FT_MAC_COMMAND = 0x0003,   FCF_FT_MASK = 0x0007,   FCF_SECENC = 0x0008,   FCF_FRAMEPENDING = 0x0010,   FCF_ACKREQ = 0x0020,   FCF_INTRAPAN = 0x0040,   FCF_DST_NO_ADDR = 0x0000,   FCF_DST_SHORT_ADDR = 0x0800,   FCF_DST_LONG_ADDR = 0x0C00,   FCF_DST_ADDR_MASK = 0x0C00,   FCF_SRC_NO_ADDR = 0x0000,   FCF_SRC_SHORT_ADDR = 0x8000,   FCF_SRC_LONG_ADDR = 0xC000,   FCF_SRC_ADDR_MASK = 0xC000,   FCS_CRC_OK_MASK = 0x80,   FCS_CORRELATION_MASK = 0x7F};typedef struct __nesc_unnamed4272 {  int8_t rssi;  uint8_t correlation;} fsc_t;struct packet {  uint8_t length;  uint16_t fcf;  uint8_t _data_seq_no;  mac_addr_t dest;  mac_addr_t src;  uint8_t _data[122 - 2 * sizeof(mac_addr_t )];  fsc_t fcs;} /*__attribute((packed))*/ ;typedef struct packet packet_t;enum __nesc_unnamed4273 {  LEDS_LED0 = 1 << 0,   LEDS_LED1 = 1 << 1,   LEDS_LED2 = 1 << 2,   LEDS_LED3 = 1 << 3,   LEDS_LED4 = 1 << 4,   LEDS_LED5 = 1 << 5,   LEDS_LED6 = 1 << 6,   LEDS_LED7 = 1 << 7};typedef uint8_t cc2420_status_t;typedef nx_struct cc2420_header_t {  nxle_uint8_t length;  nxle_uint16_t fcf;  nxle_uint8_t dsn;  nxle_uint16_t destpan;  nxle_uint16_t dest;  nxle_uint16_t src;  nxle_uint8_t type;} /*__attribute__((packed))*/ cc2420_header_t;typedef nx_struct cc2420_footer_t {  nxle_uint8_t i;} /*__attribute__((packed))*/ cc2420_footer_t;typedef nx_struct cc2420_meta_data_t {  nx_uint8_t tx_power;  nx_uint8_t rssi;  nx_uint8_t lqi;  nx_bool crc;  nx_bool ack;  nx_uint16_t time;} /*__attribute__((packed))*/ cc2420_meta_data_t;typedef nx_struct cc2420_packet_t {  cc2420_header_t packet;  nx_uint8_t _data[42];} /*__attribute__((packed))*/ cc2420_packet_t;enum __nesc_unnamed4274 {  MAC_HEADER_SIZE = sizeof(cc2420_header_t ) - 1,   MAC_FOOTER_SIZE = sizeof(uint16_t ),   MAC_PACKET_SIZE = MAC_HEADER_SIZE + 28 + MAC_FOOTER_SIZE};enum cc2420_enums {  CC2420_TIME_ACK_TURNAROUND = 7,   CC2420_TIME_VREN = 20,   CC2420_TIME_SYMBOL = 2,   CC2420_BACKOFF_PERIOD = 20 / CC2420_TIME_SYMBOL,   CC2420_ACK_WAIT_DELAY = 128};enum cc2420_status_enums {  CC2420_STATUS_RSSI_VALID = 1 << 1,   CC2420_STATUS_LOCK = 1 << 2,   CC2420_STATUS_TX_ACTIVE = 1 << 3,   CC2420_STATUS_ENC_BUSY = 1 << 4,   CC2420_STATUS_TX_UNDERFLOW = 1 << 5,   CC2420_STATUS_XOSC16M_STABLE = 1 << 6};enum cc2420_config_reg_enums {  CC2420_SNOP = 0x00,   CC2420_SXOSCON = 0x01,   CC2420_STXCAL = 0x02,   CC2420_SRXON = 0x03,   CC2420_STXON = 0x04,   CC2420_STXONCCA = 0x05,   CC2420_SRFOFF = 0x06,   CC2420_SXOSCOFF = 0x07,   CC2420_SFLUSHRX = 0x08,   CC2420_SFLUSHTX = 0x09,   CC2420_SACK = 0x0a,   CC2420_SACKPEND = 0x0b,   CC2420_SRXDEC = 0x0c,   CC2420_SRXENC = 0x0d,   CC2420_SAES = 0x0e,   CC2420_MAIN = 0x10,   CC2420_MDMCTRL0 = 0x11,   CC2420_MDMCTRL1 = 0x12,   CC2420_RSSI = 0x13,   CC2420_SYNCWORD = 0x14,   CC2420_TXCTRL = 0x15,   CC2420_RXCTRL0 = 0x16,   CC2420_RXCTRL1 = 0x17,   CC2420_FSCTRL = 0x18,   CC2420_SECCTRL0 = 0x19,   CC2420_SECCTRL1 = 0x1a,   CC2420_BATTMON = 0x1b,   CC2420_IOCFG0 = 0x1c,   CC2420_IOCFG1 = 0x1d,   CC2420_MANFIDL = 0x1e,   CC2420_MANFIDH = 0x1f,   CC2420_FSMTC = 0x20,   CC2420_MANAND = 0x21,   CC2420_MANOR = 0x22,   CC2420_AGCCTRL = 0x23,   CC2420_AGCTST0 = 0x24,   CC2420_AGCTST1 = 0x25,   CC2420_AGCTST2 = 0x26,   CC2420_FSTST0 = 0x27,   CC2420_FSTST1 = 0x28,   CC2420_FSTST2 = 0x29,   CC2420_FSTST3 = 0x2a,   CC2420_RXBPFTST = 0x2b,   CC2420_FMSTATE = 0x2c,   CC2420_ADCTST = 0x2d,   CC2420_DACTST = 0x2e,   CC2420_TOPTST = 0x2f,   CC2420_TXFIFO = 0x3e,   CC2420_RXFIFO = 0x3f};enum cc2420_ram_addr_enums {  CC2420_RAM_TXFIFO = 0x000,   CC2420_RAM_RXFIFO = 0x080,   CC2420_RAM_KEY0 = 0x100,   CC2420_RAM_RXNONCE = 0x110,   CC2420_RAM_SABUF = 0x120,   CC2420_RAM_KEY1 = 0x130,   CC2420_RAM_TXNONCE = 0x140,   CC2420_RAM_CBCSTATE = 0x150,   CC2420_RAM_IEEEADR = 0x160,   CC2420_RAM_PANID = 0x168,   CC2420_RAM_SHORTADR = 0x16a};enum cc2420_nonce_enums {  CC2420_NONCE_BLOCK_COUNTER = 0,   CC2420_NONCE_KEY_SEQ_COUNTER = 2,   CC2420_NONCE_FRAME_COUNTER = 3,   CC2420_NONCE_SOURCE_ADDRESS = 7,   CC2420_NONCE_FLAGS = 15};enum cc2420_main_enums {  CC2420_MAIN_RESETn = 15,   CC2420_MAIN_ENC_RESETn = 14,   CC2420_MAIN_DEMOD_RESETn = 13,   CC2420_MAIN_MOD_RESETn = 12,   CC2420_MAIN_FS_RESETn = 11,   CC2420_MAIN_XOSC16M_BYPASS = 0};enum cc2420_mdmctrl0_enums {  CC2420_MDMCTRL0_RESERVED_FRAME_MODE = 13,   CC2420_MDMCTRL0_PAN_COORDINATOR = 12,   CC2420_MDMCTRL0_ADR_DECODE = 11,   CC2420_MDMCTRL0_CCA_HYST = 8,   CC2420_MDMCTRL0_CCA_MOD = 6,   CC2420_MDMCTRL0_AUTOCRC = 5,   CC2420_MDMCTRL0_AUTOACK = 4,   CC2420_MDMCTRL0_PREAMBLE_LENGTH = 0};enum cc2420_mdmctrl1_enums {  CC2420_MDMCTRL1_CORR_THR = 6,   CC2420_MDMCTRL1_DEMOD_AVG_MODE = 5,   CC2420_MDMCTRL1_MODULATION_MODE = 4,   CC2420_MDMCTRL1_TX_MODE = 2,   CC2420_MDMCTRL1_RX_MODE = 0};enum cc2420_rssi_enums {  CC2420_RSSI_CCA_THR = 8,   CC2420_RSSI_RSSI_VAL = 0};enum cc2420_syncword_enums {  CC2420_SYNCWORD_SYNCWORD = 0};enum cc2420_txctrl_enums {  CC2420_TXCTRL_TXMIXBUF_CUR = 14,   CC2420_TXCTRL_TX_TURNAROUND = 13,   CC2420_TXCTRL_TXMIX_CAP_ARRAY = 11,   CC2420_TXCTRL_TXMIX_CURRENT = 9,   CC2420_TXCTRL_PA_CURRENT = 6,   CC2420_TXCTRL_RESERVED = 5,   CC2420_TXCTRL_PA_LEVEL = 0};enum cc2420_rxctrl0_enums {  CC2420_RXCTRL0_RXMIXBUF_CUR = 12,   CC2420_RXCTRL0_HIGH_LNA_GAIN = 10,   CC2420_RXCTRL0_MED_LNA_GAIN = 8,   CC2420_RXCTRL0_LOW_LNA_GAIN = 6,   CC2420_RXCTRL0_HIGH_LNA_CURRENT = 4,   CC2420_RXCTRL0_MED_LNA_CURRENT = 2,   CC2420_RXCTRL0_LOW_LNA_CURRENT = 0};enum cc2420_rxctrl1_enums {  CC2420_RXCTRL1_RXBPF_LOCUR = 13,   CC2420_RXCTRL1_RXBPF_MIDCUR = 12,   CC2420_RXCTRL1_LOW_LOWGAIN = 11,   CC2420_RXCTRL1_MED_LOWGAIN = 10,   CC2420_RXCTRL1_HIGH_HGM = 9,   CC2420_RXCTRL1_MED_HGM = 8,   CC2420_RXCTRL1_LNA_CAP_ARRAY = 6,   CC2420_RXCTRL1_RXMIX_TAIL = 4,   CC2420_RXCTRL1_RXMIX_VCM = 2,   CC2420_RXCTRL1_RXMIX_CURRENT = 0};enum cc2420_rsctrl_enums {  CC2420_FSCTRL_LOCK_THR = 14,   CC2420_FSCTRL_CAL_DONE = 13,   CC2420_FSCTRL_CAL_RUNNING = 12,   CC2420_FSCTRL_LOCK_LENGTH = 11,   CC2420_FSCTRL_LOCK_STATUS = 10,   CC2420_FSCTRL_FREQ = 0};enum cc2420_secctrl0_enums {

⌨️ 快捷键说明

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