[elektro] PIC C18 probléma

Kiss Gabor kissg at ssg.ki.iif.hu
Mon Feb 9 09:43:13 CET 2015


On 02/08/2015 11:48 PM, Skandar Graun wrote:
> Kitaláltam egy módszert, ami már egy tizedessel múködött, de itt kissé
> lehalt.
> A program a következő:
> 
> void decpont(unsigned long bedata, unsigned char pos)
> {
> SetDDRamAddr(pos);
> 
> sprintf(data,"%4lu.",bedata/100);
> putsXLCD(data);
> while( BusyXLCD() );
> SetDDRamAddr(pos+5);
>  sprintf(data,"%02d",(unsigned char)(bedata % (bedata/100)));
> putsXLCD(data);
> while( BusyXLCD() );
> }


> Mi nem jó a módszeremben, vagy mit tudnátok ajánlani helyette?

(A már megszellőztetett hibán kívül?)
Hogy nem optimális.

Feltéve, hogy a printf-ed szabványos, egy lépésben is mennie kellene:

sprintf(data,"%7.2f",bedata/100);

%f formátum híján pedig:

sprintf(data,"%4u.%.2u", bedata/100, bedata%100);

g



More information about the Elektro mailing list