🇩🇪
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(); }