Rambler's Top100
Поиск:

Вход
Правка | Версия для печати | История изменений

Вход



Темы в работе


На сайте


PmWiki



edit SideBar



(перенаправлено с PmWiki.WikiSandbox)

Здесь можно потренироваться в использовании языка разметки Вики

Attach:file.zip Δ Attach:111 Δ

Кусок Сишного кода:

Кусок Сишного кода
  1. u08 i2cGetbyte(UINT last)
  2. {
  3.         int i;
  4.         u08 c,b = 0;
  5.  
  6.         I2C_SDL_HI;                         // make sure pullups are ativated
  7.         cbi(SDADDR, SDA);                     // change direction to input on SDA line (may not be needed)
  8.  
  9.         for(i=7;i>=0;i--)
  10.         {
  11.                 HDEL;
  12.                 I2C_SCL_HI;                    // clock HI
  13.                 c = inp(SDAPIN) & (1<<SDA);
  14.                 b <<= 1;
  15.                 if(c) b |= 1;
  16.                 HDEL;
  17.         I2C_SCL_LO;    // clock LO
  18.         }
  19.  
  20.         sbi(SDADDR, SDA);                     // change direction to output on SDA line
  21.  
  22.         if (last)
  23.                 I2C_SDL_HI;                    // set NAK
  24.         else
  25.                 I2C_SDL_LO;                    // set ACK
  26.  
  27.         I2C_SCL_TOGGLE;    // clock pulse
  28.         I2C_SDL_HI;                         // leave with SDL HI
  29.         return b;                                   // return received byte
  30. }

Правка - Версия для печати - История изменений RSS Feed
Изменено April 09, 2006, at 10:10 PM
Форум Главная