亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cs8900a.c

?? 本代碼已經經過修改
?? C
?? 第 1 頁 / 共 2 頁
字號:
  PP_IA + 2,   UIP_ETHADDR2 + (UIP_ETHADDR3 << 8),
  PP_IA + 4,   UIP_ETHADDR4 + (UIP_ETHADDR5 << 8),
  PP_LineCTL,  SERIAL_RX_ON | SERIAL_TX_ON,           // configure the Physical Interface
  PP_RxCTL,    RX_OK_ACCEPT | RX_IA_ACCEPT | RX_BROADCAST_ACCEPT
};

// Writes a word in little-endian byte order to a specified port-address
void
cs8900a_write(unsigned addr, unsigned int data)
{
  IODIR |= 0xff << 16;                           // Data port to output

  IOCLR = 0xf << 4;                              // Put address on bus
  IOSET = addr << 4;
  
  IOCLR = 0xff << 16;                            // Write low order byte to data bus
  IOSET = data << 16;

  IOCLR = IOW;                                   // Toggle IOW-signal
  IOSET = IOW;

  IOCLR = 0xf << 4;
  IOSET = ((addr | 1) << 4);                     // And put next address on bus

  IOCLR = 0xff << 16;                            // Write high order byte to data bus
  IOSET = data >> 8 << 16;

  IOCLR = IOW;                                   // Toggle IOW-signal
  IOSET = IOW;
}

// Reads a word in little-endian byte order from a specified port-address
unsigned
cs8900a_read(unsigned addr)
{
  unsigned int value;

  IODIR &= ~(0xff << 16);                        // Data port to input

  IOCLR = 0xf << 4;                              // Put address on bus
  IOSET = addr << 4;

  IOCLR = IOR;                                   // IOR-signal low
  value = (IOPIN >> 16) & 0xff;                  // get low order byte from data bus
  IOSET = IOR;

  IOSET = 1 << 4;                                // IOR high and put next address on bus

  IOCLR = IOR;                                   // IOR-signal low
  value |= ((IOPIN >> 8) & 0xff00);              // get high order byte from data bus
  IOSET = IOR;                                   // IOR-signal low
  
  return value;
}

// Reads a word in little-endian byte order from a specified port-address
unsigned
cs8900a_read_addr_high_first(unsigned addr)
{
  unsigned int value;

  IODIR &= ~(0xff << 16);                        // Data port to input

  IOCLR = 0xf << 4;                              // Put address on bus
  IOSET = (addr+1) << 4;

  IOCLR = IOR;                                   // IOR-signal low
  value = ((IOPIN >> 8) & 0xff00);               // get high order byte from data bus
  IOSET = IOR;                                   // IOR-signal high

  IOCLR = 1 << 4;                                // Put low address on bus

  IOCLR = IOR;                                   // IOR-signal low
  value |= (IOPIN >> 16) & 0xff;                 // get low order byte from data bus
  IOSET = IOR;

  return value;
}

void
cs8900a_init(void)
{
  int i;

  // Reset outputs, control lines high
  IOSET = IOR | IOW;

  // No LEDs on.
  IOSET = LED_RED | LED_YELLOW | LED_GREEN;

  // Port 3 as output (all pins but RS232)
  IODIR = ~0U; // everything to output.

  // Reset outputs
  IOCLR = 0xff << 16;  // clear data outputs

  // Reset the CS8900A
  cs8900a_write(ADD_PORT, PP_SelfCTL);
  cs8900a_write(DATA_PORT, POWER_ON_RESET);

  // Wait until chip-reset is done
  cs8900a_write(ADD_PORT, PP_SelfST);
  while ((cs8900a_read(DATA_PORT) & INIT_DONE) == 0)
    ;

  // Configure the CS8900A
  for (i = 0; i < sizeof InitSeq / sizeof (TInitSeq); ++i)
    {
      cs8900a_write(ADD_PORT, InitSeq[i].Addr);
      cs8900a_write(DATA_PORT, InitSeq[i].Data);
    }
}

void
cs8900a_send(void)
{
  unsigned u;

  IOCLR = LED_RED;  // Light RED LED when frame starting

  // Transmit command
  cs8900a_write(TX_CMD_PORT, TX_START_ALL_BYTES);
  cs8900a_write(TX_LEN_PORT, uip_len);

  // Maximum number of retries
  u = 8;
  for (;;)
    {
      // Check for avaliable buffer space
      cs8900a_write(ADD_PORT, PP_BusST);
      if (cs8900a_read(DATA_PORT) & READY_FOR_TX_NOW)
        break;
      if (u -- == 0)
        {
          IOSET = LED_RED;  // Extinguish RED LED on end of frame
          return;
        }

      // No space avaliable, skip a received frame and try again
      skip_frame();
    }

  IODIR |= 0xff << 16;                           // Data port to output

  // Send 40+14=54 bytes of header
  for (u = 0; u < 54; u += 2)
    {
      IOCLR = 0xf << 4;                              // Put address on bus
      IOSET = TX_FRAME_PORT << 4;

      IOCLR = 0xff << 16;                            // Write low order byte to data bus
      IOSET = uip_buf[u] << 16;                      // write low order byte to data bus

      IOCLR = IOW;                                   // Toggle IOW-signal
      IOSET = IOW;

      IOCLR = 0xf << 4;                              // Put address on bus
      IOSET = (TX_FRAME_PORT | 1) << 4;              // and put next address on bus

      IOCLR = 0xff << 16;                            // Write low order byte to data bus
      IOSET = uip_buf[u+1] << 16;                    // write low order byte to data bus

      IOCLR = IOW;                                   // Toggle IOW-signal
      IOSET = IOW;
    }

  if (uip_len <= 54)
    {
      IOSET = LED_RED;  // Extinguish RED LED on end of frame
      return;
    }

  // Send remainder of packet, the application data
  uip_len -= 54;
  for (u = 0; u < uip_len; u += 2)
    {

      IOCLR = 0xf << 4;                          // Put address on bus
      IOSET = TX_FRAME_PORT << 4;

      IOCLR = 0xff << 16;                        // Write low order byte to data bus
      IOSET = uip_appdata[u] << 16;              // write low order byte to data bus

      IOCLR = IOW;                               // Toggle IOW-signal
      IOSET = IOW;

      IOCLR = 0xf << 4;                          // Put address on bus
      IOSET = (TX_FRAME_PORT | 1) << 4;          // and put next address on bus

      IOCLR = 0xff << 16;                        // Write low order byte to data bus
      IOSET = uip_appdata[u+1] << 16;            // write low order byte to data bus

      IOCLR = IOW;                               // Toggle IOW-signal
      IOSET = IOW;
    }

  IOSET = LED_RED;  // Extinguish RED LED on end of frame
}

static void
skip_frame(void)
{
  // No space avaliable, skip a received frame and try again
  cs8900a_write(ADD_PORT, PP_RxCFG);
  cs8900a_write(DATA_PORT, cs8900a_read(DATA_PORT) | SKIP_1);
}

u8_t
cs8900a_poll(void)
{
  u16_t len, u;

  // Check receiver event register to see if there are any valid frames avaliable
  cs8900a_write(ADD_PORT, PP_RxEvent);
  if ((cs8900a_read(DATA_PORT) & 0xd00) == 0)
    return 0;

  IOCLR = LED_GREEN;  // Light GREED LED when frame coming in.

  // Read receiver status and discard it.
  cs8900a_read_addr_high_first(RX_FRAME_PORT);

  // Read frame length
  len = cs8900a_read_addr_high_first(RX_FRAME_PORT);

  // If the frame is too big to handle, throw it away
  if (len > UIP_BUFSIZE)
    {
      skip_frame();
      return 0;
    }

  // Data port to input
  IODIR &= ~(0xff << 16);

  IOCLR = 0xf << 4;                          // put address on bus
  IOSET = RX_FRAME_PORT << 4; 

  // Read bytes into uip_buf
  u = 0;
  while (u < len)
    {
      IOCLR = 1 << 4;                            // put address on bus

      IOCLR = IOR;                               // IOR-signal low
      uip_buf[u] = IOPIN >> 16;                // get high order byte from data bus
      IOSET = IOR;                               // IOR-signal high

      IOSET = 1 << 4;                            // put address on bus

      IOCLR = IOR;                               // IOR-signal low
      uip_buf[u+1] = IOPIN >> 16;                  // get high order byte from data bus
      IOSET = IOR;                               // IOR-signal high
      u += 2;
    }

  IOSET = LED_GREEN;  // Extinguish GREED LED when frame finished.
  return len;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu色噜噜精品一区二区| 国产日韩精品一区二区三区在线| 91精品视频网| 日韩一区在线播放| 九九热在线视频观看这里只有精品| 成人一级片网址| 日韩欧美一级二级| 亚洲国产精品人人做人人爽| 高清成人在线观看| 欧美电视剧免费观看| 亚洲国产精品一区二区久久| av在线不卡观看免费观看| 欧美成人vps| 日韩av一二三| 欧美丰满少妇xxxbbb| 亚洲美女视频在线| 99久久伊人精品| 国产色婷婷亚洲99精品小说| 日本女优在线视频一区二区| 欧美在线视频不卡| 玉足女爽爽91| 色系网站成人免费| 亚洲欧美另类图片小说| 成人精品一区二区三区中文字幕| 精品粉嫩aⅴ一区二区三区四区| 日韩福利电影在线观看| 欧美日韩高清一区| 亚洲免费观看高清完整版在线观看熊| 国产精品自拍网站| 久久久久久久久久久99999| 久久国产综合精品| 欧美mv日韩mv| 精品亚洲porn| 欧美精品一区二区三区四区| 日日噜噜夜夜狠狠视频欧美人| 欧美三级日韩在线| 五月激情丁香一区二区三区| 在线播放日韩导航| 秋霞午夜av一区二区三区| 欧美一区二区三区思思人| 蜜桃一区二区三区在线| 亚洲精品一区二区在线观看| 精品一区二区三区在线播放| 亚洲黄色录像片| 欧美在线综合视频| 日本亚洲天堂网| 精品国产91洋老外米糕| 国产不卡高清在线观看视频| 亚洲国产精品传媒在线观看| 99国产精品久久久久久久久久| 亚洲色欲色欲www| 欧美日韩午夜在线| 久久99热这里只有精品| 中文字幕成人网| 在线免费观看日本一区| 青青青爽久久午夜综合久久午夜| 欧美精品一区二区三区很污很色的| 国产一区二区三区黄视频| 国产精品久久久爽爽爽麻豆色哟哟| 成人av免费在线观看| 尤物视频一区二区| 日韩免费高清av| 成人av电影免费在线播放| 亚洲午夜精品在线| 国产午夜精品美女毛片视频| 日本精品视频一区二区| 免费高清视频精品| 国产精品欧美经典| 7777精品伊人久久久大香线蕉的| 国产一区二区美女诱惑| 夜夜爽夜夜爽精品视频| 国产亚洲成av人在线观看导航| 91视频一区二区三区| 丝袜美腿高跟呻吟高潮一区| 国产三级精品在线| 制服丝袜一区二区三区| 粉嫩av一区二区三区在线播放| 亚洲高清视频的网址| 国产亚洲欧美激情| 欧美日韩免费高清一区色橹橹 | 7777精品伊人久久久大香线蕉经典版下载 | 色婷婷精品大在线视频| 日本欧美肥老太交大片| ...xxx性欧美| 2023国产精品视频| 欧美理论在线播放| 97国产精品videossex| 激情六月婷婷综合| 婷婷中文字幕综合| 亚洲色图视频网| 国产欧美日韩精品一区| 在线综合+亚洲+欧美中文字幕| 99久久婷婷国产综合精品电影 | av网站一区二区三区| 久久er精品视频| 亚洲a一区二区| 国产精品国产三级国产普通话三级| 这里是久久伊人| 日本乱人伦一区| jizzjizzjizz欧美| 国产乱码精品一区二区三区忘忧草| 午夜精品久久久久久久99水蜜桃 | 日产精品久久久久久久性色| 国产精品进线69影院| 久久男人中文字幕资源站| 欧美日韩美女一区二区| av在线不卡电影| 欧美丰满一区二区免费视频| 色婷婷av一区二区三区软件 | 日韩av一区二区三区四区| 五月天网站亚洲| 亚洲18女电影在线观看| 亚洲一区二区免费视频| 亚洲精品成a人| 亚洲精品综合在线| 一个色在线综合| 亚洲午夜精品17c| 一区二区国产视频| 亚洲一卡二卡三卡四卡无卡久久| 亚洲免费在线播放| 亚洲图片欧美综合| 青草av.久久免费一区| 免费在线视频一区| 狠狠色伊人亚洲综合成人| 国产一区在线不卡| 国产馆精品极品| 成人97人人超碰人人99| 99re视频精品| 欧美日韩国产小视频| 精品国产三级电影在线观看| 久久日韩精品一区二区五区| 久久精品在这里| 国产精品久久三| 亚洲综合成人在线视频| 美国精品在线观看| 国产毛片精品一区| 日韩精品中午字幕| 国产精品麻豆网站| 亚洲国产一区二区a毛片| 日韩电影免费一区| 国产iv一区二区三区| 色婷婷久久久久swag精品| 91精品国产综合久久久久久久久久 | 免费的成人av| 国产精品亚洲а∨天堂免在线| av在线播放成人| 9191精品国产综合久久久久久| 欧美精品一区二区在线播放| 日韩美女久久久| 蜜臀va亚洲va欧美va天堂 | 欧美久久高跟鞋激| 精品国免费一区二区三区| 国产精品久久久久久久久免费樱桃 | 欧美精品v国产精品v日韩精品 | 色av成人天堂桃色av| 欧美一卡二卡三卡四卡| 久久久久久久一区| 亚洲观看高清完整版在线观看| 国产综合一区二区| 欧美少妇bbb| 国产精品色哟哟| 奇米精品一区二区三区在线观看一| 成人做爰69片免费看网站| 欧美日韩亚洲综合一区二区三区| 久久看人人爽人人| 天天综合色天天综合| 99久久伊人精品| 久久久久综合网| 亚洲国产成人高清精品| 9人人澡人人爽人人精品| 日韩精品一区二区三区四区| 亚洲一二三区在线观看| 成人精品一区二区三区中文字幕| 欧美刺激脚交jootjob| 亚洲电影中文字幕在线观看| av资源网一区| 国产欧美一区二区三区网站| 蜜臀久久99精品久久久久久9 | 久久久久久久久久久久久女国产乱| 亚洲成人手机在线| 91网页版在线| 1区2区3区精品视频| 国产成人午夜精品5599| 欧美va天堂va视频va在线| 免费看日韩精品| 欧美精品在线视频| 亚洲国产裸拍裸体视频在线观看乱了| 波多野结衣中文一区| 国产精品美女久久久久久久久久久 | 日本一区二区三区高清不卡| 美腿丝袜亚洲综合| 欧美一区永久视频免费观看| 午夜欧美电影在线观看| 欧美日韩美少妇| 亚洲a一区二区| 91精品国产色综合久久| 日韩成人精品在线观看| 欧美精三区欧美精三区| 日本欧美肥老太交大片| 国产精品私人自拍|