c在两个指针地址

时间:2016-05-19 10:46:21

标签: c pointers embedded

我有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

我怎么能这样做?

我之所以需要将这个新指针传递给一个传输数据的函数。

谢谢

0 个答案:

没有答案