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