Dalsi zahada v C -> Prevod long int na string
Michal Gregor
a2x1nptda8 na email.cz
Pondělí Červenec 25 16:56:11 CEST 2011
Takze jsem si nasel par prikladu na prvod cisel do retezce. Je to hruza,
nedivim se ze jsou dnesni programy tak pomale. Nechapu proc se pouziva jedna
funkce pro desitkove a hexa cisla. Prevod hex. cisel je jednoduchy. Je
zbytecne do toho cpat nejake cykly, nebo dokonce deleni. V asembleru to mam
takto:
;*********************************************************
;Tady se vypíše na LCD spodní půlka W
;Vstup W
; Výstup LCD přes W
Spodni_Pulka_Byte_Na_LCD
andlw 15
addlw -10
skpnc
goto Hexa_Znaky
addlw 58
goto Lcd
Hexa_Znaky
addlw 65
goto Lcd
Spotreba datove pameti nula, program par byte, cyklu minimum.
(Zlaty asembler.) Dnes rano jsem se rozhodl ze se vykaslu na printf a nejak
to optimalizuji. To jsem nemel delat. V jinem programu jsem dopsal par radek
a po kompilaci jsem zjistil ze prestaly fungovat nekter funkce printf(),
program se nekam zahadne zabiha ve funkci printf. Kompilace probehne, ale
pri krokovani pogramu se program nekam zatoula na radku s sprintf(). Upravy
jsem pritom provadel v jine casti programu. PIC18 STD me asi nema rad....
Michal Gregor
Další informace o konferenci Hw-list