ATMEGA kerdes
Bali Zoltan
eltexto at r320.hu
Wed Feb 11 08:21:13 CET 2004
Sziasztok !
Köszi a válaszokat, kicsit megnyugodtam.
Már kezdett olyan érzésem lenni hogy
"cseberbol vederebe" , mert az Arnold
által beidézett makrót néztem este én is,
ami ugye az álltalam említett módon irja
le a muveletet. A levél után elovettem az
instruction set pdf-et és átnéztem és láttam
hogy van direkt IO regiszter bit kezelo utasítás is.
Azt még nem néztem hogy mire forditja a compiler
ezeket a makrókat, de eggyértelmü hogy ASM-be is
cbi,sbi nek kell lennie.
> (GNU-val kompatibilisak, igy konyebb portolni a forrast)
Én is GCC- avrlib-bol akartam egy lcd forrást fordítani IAR-al
de nem tudom a sok header fileok-ban szereplo attrib, asm volatile
stb. GCC extensionokkal mit csináljak.
Portolt már valaki ilyeneket, vagy használjak GCC-t ?
Az IAR a JTAG miatt szimpatikus inkább.
Üdv. Zoli
----- Original Message -----
From: "Füzesi Arnold" <arno at freemail.hu>
To: <elektro at tesla.hu>
Sent: Wednesday, February 11, 2004 5:01 AM
Subject: Re: ATMEGA kerdes
> Nálam ezek a makrók csinálják a bitkezelo dolgokat:
> Elvileg a forditó sbi,cbi-nek forditja. (Valahol valaki emlitette, de meg
> nem neztem utana, nem erdekelt a dolog)
>
> #define sbi(port,bit) (port |= (1<<bit))
> #define cbi(port,bit) (port &= ~(1<<bit))
> #define tbi(port,bit) ((port&(1<<bit))?1:0)
>
> #define SetBit(x,y) (x |= (y))
> #define ClrBit(x,y) (x &=~(y))
> #define ChkBit(x,y) (x & (y))
>
> #define _BV(bit) (1 << (bit))
>
> Arnold
More information about the Elektro
mailing list