RT-Thread使用cjson软件包发送64位长整型数据

2023-11-02  

开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,rt-thread版本为4.1.1,cjson软件包使用的版本是latest。


使用过程,测试部分代码如下:

cJSON_AddNumberToObject(cjson_root, "timestamp", (long)tv.tv_sec);

此时是正常的。修改成如下代码:

cJSON_AddNumberToObject(cjson_root, "timestamp", (long)tv.tv_sec*1000);

测试发现时间戳是负值,溢出了。搜索发现cjson库不支持64位,如果需要支持64位的话,需要自己修改代码。参考,根据说明修改cjson相关文件即可。

使用接口函数如下:

cJSON_AddLongLongToObject(cjson_root, "timestamp", (long long)tv.tv_sec*1000);

测试结果如下:

1.jpg

时间戳的值是正常的。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。