我有2个测量温度和湿度的功能。每个函数返回一个指向包含数据的地址的指针。
uint8_t * get_temperature(int *temperaturelen)
{
memset(htpbuff, 0, sizeof(htpbuff));
int temp_c = readTemperatureC();
htpbuff[0] = 'T';
htpbuff[1] = 'C';
htpbuff[2] = temp_c&0xff;
htpbuff[3] = (temp_c>>8)&0xff;
htpbuff[4] = (temp_c>>16)&0xff;
htpbuff[5] = (temp_c>>24)&0xff;
*temperaturelen = 6;
return (&htpbuff[0]);
}
uint8_t * get_humidity(int *humiditylen)
{
memset(htpbuff, 0, sizeof(htpbuff));
int humidity = readHumidity();
htpbuff[0] = 'R';
htpbuff[1] = '%';
htpbuff[2] = humidity&0xff;
htpbuff[3] = (humidity>>8)&0xff;
htpbuff[4] = (humidity>>16)&0xff;
htpbuff[5] = (humidity>>24)&0xff;
*humiditylen = 6;
return (&htpbuff[0]);
}
我调用这样的函数:
tempptr = get_live_temperature(& temp_len);
humptr = get_live_humidity(& hum_len);
我想将每个地址的数据显示为单个指针,以便该地址的数据看起来像TC1234R%1234
。
我怎么能这样做?
我之所以需要将这个新指针传递给一个传输数据的函数。
谢谢