开始把自己的学习写上去
这个是实际测试的,之前因为内存溢出。
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 }
所有评论(0)