[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