ATMEGA kerdes

Füzesi Arnold arno at freemail.hu
Wed Feb 11 05:01:51 CET 2004


Nálam ezek a makrók csinálják a bitkezelo dolgokat:
(GNU-val kompatibilisak, igy konyebb portolni a forrast)
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
----- Original Message ----- 
From: "I.R." <istvan.retaller at evoran.hu>
To: <elektro at tesla.hu>
Sent: Wednesday, February 11, 2004 8:24 AM
Subject: Re: ATMEGA kerdes


> Idézve: Dátum: 2/10/2004 1:03:18 PM. Feladó: "Bali Zoltan"
<eltexto at freemail.hu>.
> >Sziasztok !
> >
> >Most kezdtem el foglalkozni a MEGÁ-val (16).
> >Egy port bitet szeretnék kapcsolgatni, és
> >egy kicsit elmerültem a forrás, header állományok
> >tanulmányozásában ( C ). A RISC ut. készletet
> >még nem néztem át, de jól látom a makrókból,
> >hogy a port bit csak úgy érhrto el,  ha leÉSelem
> >vagy  leVAGYolom és visszaírom a portra ?
> >Mert ha igen, akkor lenne egy kérdésem,
> >Hány óraciklus egy portbit állító utsítás(ok) ?
> >
> >Köszi
> >
> >Üdv.   Zoli
> >
>
> Szia, Zoli!
> Assemblyben ez a sbi, illetve cbi utasitas. Hogy a Te c forditod hogy
implementalja, azt en nem tudhatom, de van ra direkt utasitas.
> Pl. sbi portb,3 ;Set Byte in I/o
> vagy cbi portb,3 ;Clear Byte in I/o
>
> Udv, RI
>
>
>
>
>
>
>
>



More information about the Elektro mailing list