[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