diff --git a/source/app/task_screen.c b/source/app/task_screen.c index 3df0d29..2f0aa65 100644 --- a/source/app/task_screen.c +++ b/source/app/task_screen.c @@ -297,12 +297,26 @@ void parse_screen_pkg() case 0xD3://离床报警 R.LeaveForbid_flag ^= 1;// R.LeaveForbid_flag = R.LeaveForbid_flag ^ 1; break; - case 0xD4://保存 - if(p->Data[1] == 1) + case 0xD4://数据 + if(p->Data[1] == 1)//保存重量数据 { // screen_save_push(tst_weight.kgx10); screen_save_push(R.weight_keep_kgx10);//总是保存 保持的重量(看到的是多少,保存的就是多少) - } + } + if(p->Data[1] == 2)//清空历史数据 + { + // 1.从eeprom中读出数组 + L0_Iap_Read_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr)); + // 2.初始化数组(置零) + screen_save_init(); + // 3.把数组放回(写入)eeprom中 + L0_Iap_Program_array(EEPROM_WEIGHT_ADDR, screen_save_arr,sizeof(screen_save_arr)); + // 3.推送到屏幕 + // 构造pkg + constructor_weightsave_pkg(); + // 发送pkg + L1_uart1_Array((U8 *)&scrSaveValPkg, sizeof(scrSaveValPkg)); + } break; case 0xD5://校准菜单按钮 // scrSetValPkg.buf.ui[1] = p->Data[1];