C portok

Gusi gusi at freemail.hu
Mon Mar 26 08:55:41 CEST 2007


Szia !

>Tudtok valami jo, es elegans megoldast arra, hogy kulonbozo
portok 
>kulonbozo bitjeit (nevezzuk egyszeruen input1-input10),
hogyan lehetne 
>tombkent vagy ertelmes modon kezelni? Arra lenne szuksegem,
hogy 
>detektaljam, hogy valtozott-e valamelyik bit, es ha igen
akkor tudjak 
>valamit tevekenykedni.
>Persze a portbitek nem egymas utaniak:

Hát mindenképp pakold össze őket.

word refreshIO(void)
{
  Retval = 0;
  if (In1) Retval = Retval or 0x001;
  if (In2) Retval = Retval or 0x002;
  if (In3) Retval = Retval or 0x004;
...
}

void Calc_UD_Edge(word IO)
{
  global word _IO_Temp,  _IO_UpEdge,  _IO_DownEdge;
  register W = IO xor _IO_Temp;
  _IO_UpEdge = W and IO;
  _IO_DownEdge = W and _IO_Temp;
}

void Main()
{
  ...
  Calc_UD_Edge(refreshIO());
  if (_IO_UpEdge && 0x020) PressedBtn5();
  if (_IO_DownEdge && 0x002) ReleasedBtn1();
  ...
}

Bocs, de ezer éve nem C-ztem.

_________________________________________________________________
Vásároljon kényelmesen! Több 10.000 ajánlattal, kedvező árakkal várjuk.
http://cthandler.adverticum.net/?cturl=http%3A%2F%2Fwww.vasarlas.origo.hu%3Flevelalja_07marc




More information about the Elektro mailing list