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