#include <ioCC2530.h>
#define I2C_ADR_W 0x80 //传感器地址 + 写操作
#define I2C_ADR_R 0x81 //传感器地址 + 读操作
typedef enum
{
TRIG_TEMP_MEASUREMENT_HM = 0xE3, //温度 测量指令 主机模式
TRIG_HUMI_MEASUREMENT_HM = 0xE5, //湿度 测量指令 主机模式
TRIG_TEMP_MEASUREMENT_POLL = 0xF3, //温度 测量指令 非主机模式
TRIG_HUMI_MEASUREMENT_POLL = 0xF5, //湿度 测量指令 非主机模式
USER_REG_W = 0xE6, //用户寄存器 写指令
USER_REG_R = 0xE7, //用户寄存器 读指令,可读电池电压是否小于2.25V。(测量后才可查看)
SOFT_RESET = 0xFE //软复位,寄存器服务。
}
SHT2xCommand;
typedef unsigned short uint16;
typedef unsigned char uint8;
#define st(x) do { x } while (__LINE__ == -1)
#define HAL_IO_SET(port, pin, val) HAL_IO_SET_PREP(port, pin, val)
#define HAL_IO_SET_PREP(port, pin, val) st( P##port##_##pin = val; )
#define HAL_IO_GET(port, pin) HAL_IO_GET_PREP( port,pin)
#define HAL_IO_GET_PREP(port, pin) ( P##port##_##pin)
/************************************引脚配置********************************************/
#define SHT_SDA() HAL_IO_GET(1,2)
#define SHT_SCL() HAL_IO_GET(1,3)
#define SHT_SCL_HIGH() HAL_IO_SET(1,3,1)
#define SHT_SCL_LOW() HAL_IO_SET(1,3,0)
#define SHT_SDA_HIGH() HAL_IO_SET(1,2,1)
#define SHT_SDA_LOW() HAL_IO_SET(1,2,0)
#define SDA_OUT() (P1DIR |=0x04 )
#define SDA_IN() (P1DIR &=0xFB )
#define APDS_INIT() \
do{ \
P1SEL &= ~0x04; \
P1DIR |=0x04; \
P1_2 = 1; \
\
P1SEL &= ~0x08; \