🇩🇪
Zitat von: pic18 in 08.01.2023, 19:38:49 CETseltsam, ich habe den C18 Compiler.Auch Umwege führen nach Rom
Mein Programm macht auf jeden Fall das was es soll
case ausg_schalthys:
stdOut_mr =stdOut;
stdOut = source_lcd;
//printOut("schalthys\n");
if ((UBAMonitorFast.leistungIst>0) && (pi_alt <20)){
pi_alt = UBAMonitorFast.leistungIst;
Te.hour = RCTime.stunden;
Te.minute = RCTime.minuten;
printOut(
"%bu:%bu",
Te.hour, Te.minute);
}
if ((UBAMonitorFast.leistungIst)==0 && (pi_alt >4)){ //>4 bei Start auf 5 initialisiert
pi_alt = UBAMonitorFast.leistungIst;
Ta.hour = RCTime.stunden;
Ta.minute = RCTime.minuten;
minuten = ((int)60*((int)Ta.hour-(int)Te.hour)+Ta.minute-Te.minute);
printOut(
"\t7%bu:%bu\t>%i\n",
Ta.hour, Ta.minute,minuten);
//hex_dec_ausg(minuten);
//LCD_cr();
}
stdOut = stdOut_mr;
break;
Zitat von: pic18 in 06.01.2023, 22:27:12 CETDas Witzige ist, wenn ich vor der 60 (int) weglasse...
minuten = (int)(xminuten.hour*60)+(int)xminuten.minute;// Ergebnis 75, 0x4b anstatt 0x054b
if ((UBAMonitorFast.leistungIst)==0 && (pi_alt >4)){ //>4 bei Start auf 5 initialisiert
pi_alt = UBAMonitorFast.leistungIst;
xminuten.hour = 22;
xminuten.minute = 35;
Ta.hour = RCTime.stunden;
Ta.minute = RCTime.minuten;
minuten = (int)(xminuten.hour*(int)60)+(int)xminuten.minute;
printOut(
"\t7%bu:%bu\t>%i\n",
Ta.hour, Ta.minute,minuten);
hex_dec_ausg(minuten);
LCD_cr();
}