Hallo,
ich hab ein Cast Problem mit char und sprintf.
Das Problem liegt sicher in der Definition der Funktion oder wie ich das char[] zurückgebe.
Ich bekomme auch 2 Warnungen. Aber bin auch durch rumprobieren nicht weiter gekommen.Code:char zeit(volatile unsigned long int zs) { char zeitstring[5]; uint16_t tag = floor(zs / 86400); uint8_t stunde = floor((zs - (tag * 86400)) / 3600); uint8_t minute = floor((zs - (tag * 86400) - (stunde * 3600)) / 60); //uint8_t sekunde = floor(zs - (tag * 86400) - (stunde * 3600) - (minute * 60)); if(minute < 10 && stunde < 10) { sprintf(zeitstring, "0%d:0%d", stunde, minute); } else if(stunde < 10) { sprintf(zeitstring, "0%d:%d", stunde, minute); } else if(minute < 10) { sprintf(zeitstring, "%d:0%d", stunde, minute); } else { sprintf(zeitstring, "%d:%d", stunde, minute); } return zeitstring; }
warning: return makes integer from pointer without a cast
warning: function returns address of local variable
____
Die Funktion wird benutzt um die Zeit auf ein Display auszugeben. Da kommen aber nur krumme Zeichen.
Ich hoffe ihr könnt helfen.
Danke







					
					
					
						
Zitieren

Lesezeichen