电子说
开发环境:野火的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);
测试结果如下:
时间戳的值是正常的。
全部0条评论
快来发表一下你的评论吧 !