[elektro] PIC C IO portok kezelese

Moczik Gabor pm_levlista at progzmaster.hu
Sat Oct 23 23:05:24 CEST 2010


potyo wrote:
> C-ben egy bitet valami ilyesmivel tudsz állítani:
> PORTC1=1;  // BSF PORTC, 1
> PORTC1=0;  // BCF PORTC, 1
> PORTC1=!PORTC1;  // invertálja az adott bitet

Ezt viszont nem javasolnám.
Ez fordító-specifikus, HI-TECH C alatt másképp van, mint mondjuk 
SDCC-ben, stb. Mióta próbálok (ésszerű határokon belül) portable kódokat 
írni, azóta erősen leszoktam ezekről, próbálom nem kiaknázni a fordító 
összes specifikus tulajdonságát, hanem inkább olyanokat használni, ami 
később a legkevesebb utómunkát igényli.

Ha azt írod, hogy PORTD|=0x10, akkor egy jobb fordító tudja, hogy a 
bit-set utasítással le lehet rendezni, azt fogja generálni hozzá.

Ugyanígy, ha i=j/2 -t írsz, akkor tudni fogja, hogy egy jobbra shift-tel 
ki lehet optimalizálni.

Stb...

A legtöbb fordító tud assembly list file-t generálni a fordított kódról, 
ezt célszerű kérni, kommentekben ott lesz, hogy melyik forrás sorból 
készült, frankón megnézheted, kísérletezhetsz, mire mit fordít.

-- 
((( Móczik Gábor  )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))



More information about the Elektro mailing list