> paemiau ziuret nu ir tarkim "PORTB = (1<<PB4)" zinau kad left shift'as, o bet nafik ten reik left shiftint, kodel neuztenka > tiesiog priskirt vieneta i PB4... Nu datascheete nera parasyta manau. Datasheet'e bus asembleris, bet net tokiame oficialiame šaltinyje tinginiai prikrovė shift'ų. Likimo ironija: AVR'uose kojų maskatavimas kaip tik labai paprastas -- CBI PORTB,4 SBI PORTB,4 Čia tik konkretaus C kompiliatoriaus autoriai užsimanė viską padaryti labai pagal kalbos standartą. Standarte siauriausias tipas yra 8 bitų, atitinka registrą. Reiškia, ir makrosai turės dirbti su visu registru iš karto -- vietoje SETB jie darys IN r0,PORTB <and/or/xor su r0, idant keistųsi tik reikiami bitai> OUT PORTB,r0 O jei kompiliatorius turėtų kokį nors tipą "bit" darbui su AVR pavienėmis kojomis, būsenos registro bitais ir panašiais dalykais, tai priskyrimas tokiam kintamajam pavirstų į vienintelę komandą. Man kadaise po pirmosios kalbos, Turbo Pascal, visai į temą buvo asembleris. Tačiau ne bet koks, o tas integruotas, kuriuo .pas faile gali funkcijos gabalus ar visą funkciją realizuoti. Paskui įsidrąsinau norimas funkcijas daryti su TASM ir į paskalį importuoti jau gatavus .obj failus. O ten vos pora žingsnių iki nepriklausomų .com failų, pasigilinus -- ir iki .exe. Net gaila būdavo, kad DOS jau paskutines dienas skaičiuoja. -- saimhe