|
outman 发表于 2012-4-7 15:22
我估计你是把几种传感器定义成相同的类型了,每一种量一种类型名称,这样FIT Explorer就可以区分开了,然 ...
没有呢,每一种传感器我都定义了类型 。
#define TEMP_SRC_SHT11 3
然后:
#if TEMP_SRC == TEMP_SRC_CH4
#define CH4
#endif
还有:
#define SENSOR_USER_INDEX_TEMP 6 //max 2 bytes
#define SENSOR_USER_INDEX_HUMI 7 //max 1 byte
#define SENSOR_USER_INDEX_VOLT 8 //max 2 bytes
在发送数据的时候,我是这样处理的:
// Read and report temperature value(温度)
pData[index++] = SNRDATA_TYPE_2BSIGND|SENSOR_USER_INDEX_TEMP;
pData[index++] = readTemp();
pData[index++] = iTemp2;
// Read and report voltage value (电压)
pData[index++] = SNRDATA_TYPE_2BSIGND|SENSOR_USER_INDEX_VOLT;
pData[index++] = readVoltage();
// Read and report humidity value (湿度)
#ifdef HUMIDITY
pData[index++] = SNRDATA_TYPE_2BSIGND|SENSOR_USER_INDEX_HUMI;
pData[index++] = iHumidity;
#else
pData[index++] = 0;
我自己感觉好像没有什么错误啊?我认真看了你们的协议,然后程序也是参照你们的那个热释电红外人体传感器给的源码改的。 |
|