hardware.h

来自「tinyos最新版」· C头文件 代码 · 共 191 行

H
191
字号
// $Id: hardware.h,v 1.1 2004/07/14 05:20:00 jwhui Exp $/*									tab:4 * * * "Copyright (c) 2000-2004 The Regents of the University  of California.   * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. *  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." * */#ifndef _H_hardware_h#define _H_hardware_h#include "msp430hardware.h"#include "MSP430ADC12.h"//#include "CC2420Const.h"//#include "AM.h"// LEDsTOSH_ASSIGN_PIN(RED_LED, 5, 4);TOSH_ASSIGN_PIN(GREEN_LED, 5, 5);TOSH_ASSIGN_PIN(YELLOW_LED, 5, 6);// CC2420 RADIO #definesTOSH_ASSIGN_PIN(RADIO_CSN, 4, 2);TOSH_ASSIGN_PIN(RADIO_VREF, 4, 5);TOSH_ASSIGN_PIN(RADIO_RESET, 4, 6);TOSH_ASSIGN_PIN(RADIO_FIFOP, 1, 0);TOSH_ASSIGN_PIN(RADIO_SFD, 4, 1);TOSH_ASSIGN_PIN(RADIO_GIO0, 1, 3);TOSH_ASSIGN_PIN(RADIO_FIFO, 1, 3);TOSH_ASSIGN_PIN(RADIO_GIO1, 1, 4);TOSH_ASSIGN_PIN(RADIO_CCA, 1, 4);TOSH_ASSIGN_PIN(CC_FIFOP, 1, 0);TOSH_ASSIGN_PIN(CC_FIFO, 1, 3);TOSH_ASSIGN_PIN(CC_SFD, 4, 1);TOSH_ASSIGN_PIN(CC_VREN, 4, 5);TOSH_ASSIGN_PIN(CC_RSTN, 4, 6);// UART pinsTOSH_ASSIGN_PIN(SOMI0, 3, 2);TOSH_ASSIGN_PIN(SIMO0, 3, 1);TOSH_ASSIGN_PIN(UCLK0, 3, 3);TOSH_ASSIGN_PIN(UTXD0, 3, 4);TOSH_ASSIGN_PIN(URXD0, 3, 5);TOSH_ASSIGN_PIN(UTXD1, 3, 6);TOSH_ASSIGN_PIN(URXD1, 3, 7);TOSH_ASSIGN_PIN(UCLK1, 5, 3);TOSH_ASSIGN_PIN(SOMI1, 5, 2);TOSH_ASSIGN_PIN(SIMO1, 5, 1);// ADCTOSH_ASSIGN_PIN(ADC0, 6, 0);TOSH_ASSIGN_PIN(ADC1, 6, 1);TOSH_ASSIGN_PIN(ADC2, 6, 2);TOSH_ASSIGN_PIN(ADC3, 6, 3);// HUMIDITYTOSH_ASSIGN_PIN(HUM_SDA, 1, 5);TOSH_ASSIGN_PIN(HUM_SCL, 1, 6);TOSH_ASSIGN_PIN(HUM_PWR, 1, 7);void HUMIDITY_MAKE_CLOCK_OUTPUT() { TOSH_MAKE_HUM_SCL_OUTPUT(); }void HUMIDITY_MAKE_CLOCK_INPUT() { TOSH_MAKE_HUM_SCL_INPUT(); }void HUMIDITY_CLEAR_CLOCK() { TOSH_CLR_HUM_SCL_PIN(); }void HUMIDITY_SET_CLOCK() { TOSH_SET_HUM_SCL_PIN(); }void HUMIDITY_MAKE_DATA_OUTPUT() { TOSH_MAKE_HUM_SDA_OUTPUT(); }void HUMIDITY_MAKE_DATA_INPUT() { TOSH_MAKE_HUM_SDA_INPUT(); }void HUMIDITY_CLEAR_DATA() { TOSH_CLR_HUM_SDA_PIN(); }void HUMIDITY_SET_DATA() { TOSH_SET_HUM_SDA_PIN(); }char HUMIDITY_GET_DATA() { return TOSH_READ_HUM_SDA_PIN(); }#define HUMIDITY_TIMEOUT_MS          30#define HUMIDITY_TIMEOUT_TRIES       20enum {  // Sensirion Humidity addresses and commands  TOSH_HUMIDITY_ADDR = 5,  TOSH_HUMIDTEMP_ADDR = 3,  TOSH_HUMIDITY_RESET = 0x1E};// FLASHTOSH_ASSIGN_PIN(FLASH_PWR, 4, 3);TOSH_ASSIGN_PIN(FLASH_CS, 4, 4);// PROGRAMMING PINS (tri-state)//TOSH_ASSIGN_PIN(TCK, );TOSH_ASSIGN_PIN(PROG_RX, 1, 1);TOSH_ASSIGN_PIN(PROG_TX, 2, 2);void TOSH_SET_PIN_DIRECTIONS(void){  //LEDS  TOSH_SET_RED_LED_PIN();  TOSH_SET_GREEN_LED_PIN();  TOSH_SET_YELLOW_LED_PIN();  TOSH_MAKE_RED_LED_OUTPUT();  TOSH_MAKE_GREEN_LED_OUTPUT();  TOSH_MAKE_YELLOW_LED_OUTPUT();  //RADIO PINS  //CC2420 pins  TOSH_SET_SOMI1_PIN();  TOSH_MAKE_SOMI1_INPUT();  //TOSH_MAKE_SIMO1_OUTPUT();  //TOSH_MAKE_UCLK1_OUTPUT();  TOSH_SET_RADIO_RESET_PIN();  TOSH_MAKE_RADIO_RESET_OUTPUT();  TOSH_CLR_RADIO_VREF_PIN();  TOSH_MAKE_RADIO_VREF_OUTPUT();  TOSH_SET_RADIO_CSN_PIN();  TOSH_MAKE_RADIO_CSN_OUTPUT();  TOSH_MAKE_RADIO_FIFOP_INPUT();  TOSH_MAKE_RADIO_GIO0_INPUT();  TOSH_MAKE_RADIO_SFD_INPUT();  TOSH_MAKE_RADIO_GIO1_INPUT();  //UART PINS  TOSH_MAKE_UTXD1_OUTPUT();  TOSH_MAKE_URXD1_OUTPUT();  TOSH_CLR_UTXD1_PIN();  TOSH_CLR_URXD1_PIN();    //PROG PINS  TOSH_MAKE_PROG_RX_INPUT();  TOSH_MAKE_PROG_TX_INPUT();  //FLASH PINS  TOSH_MAKE_FLASH_PWR_OUTPUT();  TOSH_SET_FLASH_PWR_PIN();  TOSH_MAKE_FLASH_CS_OUTPUT();  TOSH_SET_FLASH_CS_PIN();  //HUMIDITY PINS  TOSH_MAKE_HUM_SCL_OUTPUT();  TOSH_MAKE_HUM_SDA_OUTPUT();  TOSH_MAKE_HUM_PWR_OUTPUT();  TOSH_CLR_HUM_SCL_PIN();  TOSH_CLR_HUM_SDA_PIN();  TOSH_CLR_HUM_PWR_PIN();}#ifndef SENSORBOARD_H#define SENSORBOARD_Henum {  TOSH_ADC_PORTMAPSIZE = 4 // default board has no sensors hooked up};enum{  TOSH_ACTUAL_ADC_PAR_PORT = ASSOCIATE_ADC_CHANNEL(         INPUT_CHANNEL_A4, REFERENCE_VREFplus_AVss, REFVOLT_LEVEL_1_5  ),  TOSH_ACTUAL_ADC_TSR_PORT = ASSOCIATE_ADC_CHANNEL(         INPUT_CHANNEL_A5, REFERENCE_VREFplus_AVss, REFVOLT_LEVEL_1_5  ),};enum{  TOS_ADC_PAR_PORT,  TOS_ADC_TSR_PORT,  TOS_ADC_INTERNAL_TEMP_PORT,  TOS_ADC_INTERNAL_VOLTAGE_PORT};#endif // SENSORBOARD_H#endif // _H_hardware_h

⌨️ 快捷键说明

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