1-wire buszon levo cuccok erzekelese - ds1820 -C

Szima Gábor sygma at tesla.hu
Mon Feb 26 11:22:11 CET 2007


On Sat, 24 Feb 2007, Bodosi Bal zs wrote:

>> Mi baj vele?
>> Normalis mikrovezerlot epkezlab C forditoval nagyon is hatekonyan lehet
>> programozni...
>
> Persze, csak mivel en meg 6502-es assemblyvel kezdtem (csak azzal
> lehetett rendes sebesseggel futo progit irni), ott is ragadtam.

En is ezen kezdtem, aztan 68k, PIC, 8051, stb.
Pl. 68000-ra irtam PIC/SX assemblert.

Aztan attertem AVR-re, es ott GCC-zek (4.1.x), az AVR-ASM nalam csupan 
read only (meg szoktam nezegetni, hogy mit is kovet el a fordito). Mit 
mondjak, eleg durva dolgokat, nem is gondoltam volna...

> A c-t meg EGYALTALAN nem ismerem, aztan ezert is fazom tole.

A C-tol egyaltalan nem kell felni, ugyanis nem mas, mint egy kiruzsozott 
ASM (C-ben is irtam PIC assemblert :).

Csak nem:

lda $00ff
sta $00fe

vagy:

Move.b $000000ff,$000000fe

hanem:

*((char*) 0x000000fe) = *((char*) 0x000000ff);


Van egy hatalmas elonye: fogsz egy altalanosabb kodreszletet (pl. CRC alg. 
vagy valamilyen komm. protokol), es leforditod Linuxra, Windows-ra, 
AVR-re, mindenfele modositas nelkul... (ja igen, mukodni is fog :).

Aztan bekapcsolsz egy durva optimalizaciot, es dobbensz, hogy mi mindent 
"kisakkoz".
Pl. a static inline egy rendkivul hasznos dolog. Ez sebesseg/meret 
optimalizacio alapjan eldonti, hogy az adott kodreszletet fuggvenykent 
hivja, vagy 1001 helyre "bemasolja".

> Minek tanuljak uj programnyelveket, ha eddig minden felmerulo
> feladatot meg tudtam ezzel oldani?

En pont ezert alltam at C-re.
Mikrovezerlok jonnek, mikrovezerlok mennek, processzorok jonnek, 
processzorok mennek, a C marad...
;)


 								-Sygma



More information about the Elektro mailing list