OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3444|回复: 5

有没有在32上做过json解析的大佬

[复制链接]

2

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2018-12-18
在线时间
14 小时
发表于 2019-1-4 16:24:31 | 显示全部楼层 |阅读模式
10金钱
char *arrr="{\"a1\":1,\"a2\":1,\"a3\":1,\"a4\":1,\"a5\":1,\"a6\":1,\"a7\":1,\"a8\":1}";
cJSON *js=cJSON_Parse(arrr);
char* buf;
test(buf = cJSON_Print(js));//空函数,仅调用一下cJSON_Print函数
char ar[300];
delstr(buf,ar);//清除回车和tab

if(strlen(buf)>20)
{
  u16 j=0;
  while(j<20)
  {
   USART_SendData(UART4, ar[j]);
   while(USART_GetFlagStatus(UART4,USART_FLAG_TC)!=SET);
   j++;
  }
  cJSON_free(buf);
  cJSON_Delete(js);
  return 1;
}

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-1-4 16:24:32 | 显示全部楼层
回复

使用道具 举报

2

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2018-12-18
在线时间
14 小时
 楼主| 发表于 2019-1-4 16:25:03 | 显示全部楼层
蜜汁死机
回复

使用道具 举报

2

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2018-12-18
在线时间
14 小时
 楼主| 发表于 2019-1-17 10:09:45 | 显示全部楼层

我这个不好仿真,但找到问题了,数据处理那个任务分配的堆栈大小不够,所以一运行到cJSON_Parse这个函数就会死机
回复

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6509
金钱
6509
注册时间
2018-6-27
在线时间
549 小时
发表于 2019-2-17 14:34:09 | 显示全部楼层
学习学习,学习学习。
回复

使用道具 举报

2

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2018-12-18
在线时间
14 小时
 楼主| 发表于 2019-3-18 17:26:22 | 显示全部楼层
补充一下,这个问题是由于每个任务在一开始就分配了固定的堆栈大小,如果任务里涉及到申请内存的操作,一定要注意申请的内存的大小是否会超过该任务堆栈的大小,否则会导致内存出错,就会进入一个什么中断,然后程序就死了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 15:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表