如何从指针

时间:2015-08-20 12:04:50

标签: c pointers structure

我正在使用两个流作为输入的SHT11传感器,必须将它们组合在一起以表示可读信息。说湿度和温度声明如下:

uint8_t humi[3] = {};
uint8_t temp[3] = {};

并由指针ptrFlash组合:

uint8_t* ptrFlash;

在编写数据包的函数中:

ptrFlash = (uint8_t*)&writepkt->humi_data;
ptrFlash[0] = humi[0];
ptrFlash[1] = humi[1];
ptrFlash = (uint8_t*)&writepkt->temp_data;
ptrFlash[0] = temp[0];
ptrFlash[1] = temp[1];

在这种情况下,湿度和温度读数都正确分配。如何从这里提取float / int读数?这来自writepkt结构还是ptrFlash? writepkt的结构如下:

typedef nx_struct DAT {
nx_uint8_t  nodeid;
nx_uint8_t  forwardid;
nx_uint8_t  destid;
nx_uint32_t pktid; 
nx_uint16_t humi_data;
nx_uint16_t temp_data;
nx_uint16_t intBatt_val;
nx_uint16_t extBatt_val;
nx_uint8_t  rssi_val;
nx_uint32_t total_pkt_num;
nx_uint8_t  immediate_parent_node;
nx_uint32_t node_fail_to_send_count;
nx_uint8_t  fan1_val;
nx_uint8_t  fan2_val;
} DAT;

0 个答案:

没有答案