开始把自己的学习写上去

这个是实际测试的,之前因为内存溢出。

 1 //======================================//
 2 //
 3 //参数设置
 4 //
 5 //======================================//
 6 unsigned char Parameter_set(char *setJsonText)
 7 {
 8     cJSON *set;
 9       uint8_t ret,value;
10       char *stype;
11     set = cJSON_Parse(setJsonText);
12         if(set)
13         {
14          value = cJSON_GetObjectItem(set,"SET")->valueint;
15          if(value == 0) //读取设置
16          { 
17            
18          }else if(value ==1)
19          {
20           stype = cJSON_GetObjectItem(set,"parameter")->valuestring;
21              if(memcmp(stype,"ID",2) == 0)
22              {
23                  stype = cJSON_GetObjectItem(set,"value")->valuestring;
24                I2C_EE_BufferWrite(stype,SET_ID_ADD,20);
25              printf("设置ID号:%s\n",stype);
26              }else if(memcmp(stype,"TIME",4) == 0)
27              {
28                  value = cJSON_GetObjectItem(set,"value")->valueint;  //设置故障上报时间  单位分钟
29                  
30                TWI_WriteByte(value&0Xff,SET_TIME_L_ADD);
31                  TWI_WriteByte(value>>8,SET_TIME_H_ADD);
32             printf("设置故障上传时间(分钟):%d\n",value);
33              }
34              else if(memcmp(stype,"MinFloor",4) == 0)
35              {
36                  value = cJSON_GetObjectItem(set,"value")->valueint;
37                TWI_WriteByte(value,SET_MinF_ADD);
38             printf("设置最小楼层:%d\n",value);
39              }
40              else if(memcmp(stype,"MaxFloor",4) == 0)
41              {
42                  value = cJSON_GetObjectItem(set,"value")->valueint;
43                TWI_WriteByte(value,SET_MaxF_ADD);
44              printf("设置最大楼层:%d\n",value);
45              }else if(memcmp(stype,"speed",4) == 0)
46              {
47                  value = cJSON_GetObjectItem(set,"value")->valueint;
48                TWI_WriteByte(value,SET_Speed_ADD);
49              printf("设置速度:%d\n",value);
50              }else if(memcmp(stype,"F_Time",3) == 0)
51              {
52                  value = cJSON_GetObjectItem(set,"value")->valueint;  //单位秒
53                TWI_WriteByte(value,SET_Speed_ADD);
54              printf("设置时间(秒):%d\n",value);
55              }
56          }
57         myfree(stype);
58         cJSON_Delete(set);
59         }
60     return ret;
61 }
View Code

 

转载于:https://www.cnblogs.com/sujianxv/p/6744037.html

GitHub 加速计划 / cj / cJSON
14
5
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:3 个月前 )
c859b25d 3 个月前
74e1ff49 this fixes CVE-2025-57052 3 个月前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐