开发环境:野火的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);
测试结果如下:
时间戳的值是正常的。
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。