Exemple #1
0
/*---------------------------------------------------------------------------*/
static void
owwriteb(unsigned byte)
{
  int i = 7;
  do {
    if(byte & 0x01) {
			DS2411_OUTPUT();
      OUTP_0();
      udelay_tA();
      OUTP_1();			/* Releases the bus */
      udelay(tB);
    } else {
      OUTP_0();
      udelay(tC);
      OUTP_1();			/* Releases the bus */
      udelay(tD);
    }
    if(i == 0) {
			DS2411_INPUT();
      return;
    }
    i--;
    byte >>= 1;
  } while(1);
}
Exemple #2
0
/*---------------------------------------------------------------------------*/
static unsigned
owreadb(void)
{
  unsigned result = 0;
  int i = 7;
  do {
    OUTP_0();
    udelay_tA();
    OUTP_1();			/* Releases the bus */
    udelay(tE);
    if(INP()) {
      result |= 0x80;		/* LSbit first */
    }
    udelay(tF);
    if(i == 0) {
      return result;
    }
    i--;
    result >>= 1;
  } while(1);
}