中pressure用浮点数表示
时间: 2024-02-13 14:03:00 浏览: 44
如果要将压力值表示为浮点数,可以将该函数中的 `u8 pressure` 改为 `float pressure`,然后将 JSON 模板中的 `%d` 替换为 `%f`,如下所示:
```c
u8 MqttOnenet_Savedata(u8 *t_payload, u8 infrared, u8 ultraviolet, float pressure) {
char json[] = "{\"datastreams\":[{\"id\":\"infrared\",\"datapoints\":[{\"value\":%d}]},{\"id\":\"ultraviolet\",\"datapoints\":[{\"value\":%d}]},{\"id\":\"pressure\",\"datapoints\":[{\"value\":%f}]}]}";
char t_json[600];
unsigned short json_len;
sprintf(t_json, json, infrared, ultraviolet, pressure);
json_len = strlen(json);
t_payload[0] = '\x01';
t_payload[1] = (json_len & 0xFF00) >> 8;
t_payload[2] = json_len & 0xFF;
memcpy(t_payload + 3, t_json, json_len);
return json_len + 3;
}
```
这样修改后,就可以将传感器采集到的压力值以浮点数的形式打包成 JSON 数据了。
阅读全文