1、指針調用
函數代碼:
void proc_temp_not_reach(u32 time, u16 temp, u16 set_temp, TEMP_NOT_REACH_ALARM_STRUCT *temp_not_reach_alarm_struct_1, u8 alarm_code){
if(time > 5){
if(temp < (set_temp - 5)*10){//如果15分鐘内未達到設定溫度-5攝氏度
temp_not_reach_alarm_struct_1->temp_get_count++;
if(temp_not_reach_alarm_struct_1->temp_get_count >5){
temp_not_reach_alarm_struct_1->temp_get_count = 0;
}
}
else{
temp_not_reach_alarm_struct_1->temp_get_count = 0;
}
}
}
void proc_temp_not_reach_b(u32 time, u16 temp, u16 set_temp, u8 *alarm_count, u8 alarm_code){
if(time > 5){
if(temp < (set_temp - 5)*10){//如果15分鐘内未達到設定溫度-5攝氏度
(*alarm_count)++;
if(*alarm_count > 5){
*alarm_count = 0;
}
}
else{
*alarm_count = 0;
}
}
}
函數調用
proc_temp_not_reach(time, temp, set_temp, &temp_not_reach_alarm_struct, 90);
proc_temp_not_reach_b(time, temp, set_temp, &alarm_count, 91);
這樣可以實作 不用變量調用 同一個累加函數的問題。