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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cs8900.c

?? TCP_IP 協(xié)議棧 For MSP-430.
?? C
字號(hào):
/****************************************************************** *****                                                        ***** *****  Name: cs8900.c                                        ***** *****  Ver.: 1.0                                             ***** *****  Date: 07/05/2001                                      ***** *****  Auth: Andreas Dannenberg                              ***** *****        HTWK Leipzig                                    ***** *****        university of applied sciences                  ***** *****        Germany                                         ***** *****        adannenb@et.htwk-leipzig.de                     ***** *****  Func: ethernet packet-driver for use with LAN-        ***** *****        controller CS8900 from Crystal/Cirrus Logic     ***** *****                                                        ***** ******************************************************************/#include "cs8900.h"// configure port-pins for use with LAN-controller,// reset it and send the configuration-sequence// (InitSeq[])void Init8900(void){  unsigned int i;  P3SEL = 0x30;                                  // reserve P3.4 and P3.5 for rs232  P3OUT = IOR | IOW;                             // reset outputs, control lines high  P3DIR = 0xFF;                                  // port 3 as output (all pins but rs232)  P5SEL = 0;                                     // select standard port functions  P5OUT = 0;                                     // reset outputs  P5DIR = 0xFF;                                  // switch data port to output  Write8900(ADD_PORT, PP_SelfCTL);  Write8900(DATA_PORT, POWER_ON_RESET);          // Reset the Ethernet-Controller  Write8900(ADD_PORT, PP_SelfST);  while (!(Read8900(DATA_PORT) & INIT_DONE));    // wait until chip-reset is done    for (i = 0; i < sizeof InitSeq / sizeof (TInitSeq); i++) // configure the CS8900  {    Write8900(ADD_PORT, InitSeq[i].Addr);    Write8900(DATA_PORT, InitSeq[i].Data);  }}// writes a word in little-endian byte order to// a specified port-addressvoid Write8900(unsigned char Address, unsigned int Data){  P5DIR = 0xFF;                                  // data port to output  P3OUT = IOR | IOW | Address;                   // put address on bus    P5OUT = Data;                                  // write low order byte to data bus  P3OUT &= ~IOW;                                 // toggle IOW-signal  P3OUT = IOR | IOW | (Address + 1);             // and put next address on bus  P5OUT = Data >> 8;                             // write high order byte to data bus  P3OUT &= ~IOW;                                 // toggle IOW-signal  P3OUT |= IOW;}// writes a word in little-endian byte order to TX_FRAME_PORTvoid WriteFrame8900(unsigned int Data){  P5DIR = 0xFF;                                  // data port to output  P3OUT = IOR | IOW | TX_FRAME_PORT;             // put address on bus    P5OUT = Data;                                  // write low order byte to data bus  P3OUT &= ~IOW;                                 // toggle IOW-signal  P3OUT = IOR | IOW | (TX_FRAME_PORT + 1);       // and put next address on bus  P5OUT = Data >> 8;                             // write high order byte to data bus  P3OUT &= ~IOW;                                 // toggle IOW-signal  P3OUT |= IOW;}// copies bytes from MCU-memory to frame port// NOTES: * an odd number of byte may only be transfered//          if the frame is written to the end!//        * MCU-memory MUST start at word-boundaryvoid CopyToFrame8900(void *Source, unsigned int Size){  P5DIR = 0xFF;                                  // data port to output    while (Size > 1) {    WriteFrame8900(*((unsigned int *)Source)++);    Size -= 2;  }    if (Size)                                      // if odd num. of bytes...    WriteFrame8900(*(unsigned char *)Source);    // write leftover byte (the LAN-controller}                                                // ignores the highbyte)// reads a word in little-endian byte order from// a specified port-addressunsigned int Read8900(unsigned char Address){  unsigned int ReturnValue;  P5DIR = 0x00;                                  // data port to input  P3OUT = IOR | IOW | Address;                   // put address on bus  P3OUT &= ~IOR;                                 // IOR-signal low    ReturnValue = P5IN;                            // get low order byte from data bus  P3OUT = IOR | IOW | (Address + 1);             // IOR high and put next address on bus  P3OUT &= ~IOR;                                 // IOR-signal low  ReturnValue |= P5IN << 8;                      // get high order byte from data bus    P3OUT |= IOR;    return ReturnValue;}// reads a word in little-endian byte order from RX_FRAME_PORTunsigned int ReadFrame8900(void){  unsigned int ReturnValue;  P5DIR = 0x00;                                  // data port to input  P3OUT = IOR | IOW | RX_FRAME_PORT;             // access to RX_FRAME_PORT  P3OUT &= ~IOR;                                 // IOR-signal low    ReturnValue = P5IN;                            // get 1st byte from data bus (low-byte)  P3OUT = IOR | IOW | (RX_FRAME_PORT + 1);       // IOR high and put next address on bus  P3OUT &= ~IOR;                                 // IOR-signal low  ReturnValue |= P5IN << 8;                      // get 2nd byte from data bus (high-byte)    P3OUT |= IOR;    return ReturnValue;}// reads a word in big-endian byte order from RX_FRAME_PORT// (useful to avoid permanent byte-swapping while reading// TCP/IP-data)unsigned int ReadFrameBE8900(void){  unsigned int ReturnValue;  P5DIR = 0x00;                                  // data port to input  P3OUT = IOR | IOW | RX_FRAME_PORT;             // access to RX_FRAME_PORT  P3OUT &= ~IOR;                                 // IOR-signal low    ReturnValue = P5IN << 8;                       // get 1st byte from data bus (high-byte)  P3OUT = IOR | IOW | (RX_FRAME_PORT + 1);       // IOR high and put next address on bus  P3OUT &= ~IOR;                                 // IOR-signal low  ReturnValue |= P5IN;                           // get 2nd byte from data bus (low-byte)    P3OUT |= IOR;    return ReturnValue;}// reads a word in little-endian byte order from// a specified port-address// NOTE: this func. xfers the high-byte 1st, must be used to//       access some special registers (e.g. RxStatus)unsigned int ReadHB1ST8900(unsigned char Address){  unsigned int ReturnValue;  P5DIR = 0x00;                                  // data port to input  P3OUT = IOR | IOW | (Address + 1);             // put address on bus  P3OUT &= ~IOR;                                 // IOR-signal low    ReturnValue = P5IN << 8;                       // get high order byte from data bus  P3OUT = IOR | IOW | Address;                   // IOR high and put next address on bus  P3OUT &= ~IOR;                                 // IOR-signal low  ReturnValue |= P5IN;                           // get low order byte from data bus    P3OUT |= IOR;    return ReturnValue;}// copies bytes from frame port to MCU-memory// NOTES: * an odd number of byte may only be transfered//          if the frame is read to the end!//        * MCU-memory MUST start at word-boundaryvoid CopyFromFrame8900(void *Dest, unsigned int Size){  while (Size > 1) {    *((unsigned int *)Dest)++ = ReadFrame8900();    Size -= 2;  }    if (Size)                                      // check for leftover byte...    *(unsigned char *)Dest = ReadFrame8900();    // the LAN-Controller will return 0}                                                // for the highbyte// does a dummy read on frame-I/O-port// NOTE: only an even number of bytes is read!void DummyReadFrame8900(unsigned int Size)       // discards an EVEN number of bytes{                                                // from RX-fifo  while (Size > 1) {    ReadFrame8900();    Size -= 2;  }}// requests space in CS8900's on-chip memory for// storing an outgoing framevoid RequestSend(unsigned int FrameSize){  Write8900(TX_CMD_PORT, TX_START_ALL_BYTES);  Write8900(TX_LEN_PORT, FrameSize);}// check if CS8900 is ready to accept the// frame we want to sendunsigned int Rdy4Tx(void){  Write8900(ADD_PORT, PP_BusST);  return (Read8900(DATA_PORT) & READY_FOR_TX_NOW);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品自拍偷拍| 不卡一区二区中文字幕| 欧美日韩一区高清| 一区二区三区鲁丝不卡| 91福利在线播放| 亚洲国产欧美一区二区三区丁香婷| kk眼镜猥琐国模调教系列一区二区| 国产精品九色蝌蚪自拍| 91视视频在线观看入口直接观看www | 天涯成人国产亚洲精品一区av| 欧美色大人视频| 日韩精品91亚洲二区在线观看| 91精品视频网| 国产一区二区不卡老阿姨| 国产网红主播福利一区二区| 成人a免费在线看| 亚洲六月丁香色婷婷综合久久 | 欧美精品一区二区三区很污很色的| 亚洲777理论| 欧美一级高清片| 国产一区二区日韩精品| 国产精品久99| 欧美日韩激情在线| 理论电影国产精品| 国产日韩欧美亚洲| 一本大道久久a久久综合| 亚洲v日本v欧美v久久精品| 日韩一卡二卡三卡四卡| 国产成人一级电影| 亚洲综合自拍偷拍| 精品日韩在线一区| 99久久er热在这里只有精品15| 亚洲国产综合在线| 久久综合九色综合97_久久久| 成人黄色综合网站| 丝袜脚交一区二区| 日本一区二区综合亚洲| 在线国产电影不卡| 国精品**一区二区三区在线蜜桃| 亚洲精品一二三四区| 精品国精品国产尤物美女| 9久草视频在线视频精品| 亚洲精品在线电影| 色乱码一区二区三区88| 久久99精品久久久久久动态图 | 91精品国产乱| 成人禁用看黄a在线| 亚洲一区二区三区三| 2023国产精华国产精品| 在线观看av一区| 国产在线国偷精品免费看| 亚洲香蕉伊在人在线观| 国产欧美日韩精品a在线观看| 欧美日韩国产高清一区二区三区 | 欧洲色大大久久| 国产一区二区福利视频| 香蕉久久一区二区不卡无毒影院| 国产精品美女久久久久久久久久久| 91精品午夜视频| 在线观看日韩国产| 成人美女视频在线观看| 麻豆精品新av中文字幕| 亚洲国产日韩精品| 亚洲色图一区二区| 久久九九久久九九| 日韩久久免费av| 69堂精品视频| 欧美主播一区二区三区美女| 成人深夜福利app| 国内精品写真在线观看| 日本欧美加勒比视频| 亚洲精品国久久99热| 国产精品成人免费精品自在线观看 | 夜夜嗨av一区二区三区四季av| 国产视频一区在线观看| 欧美成人aa大片| 在线电影国产精品| 欧美色精品天天在线观看视频| 91免费在线播放| 不卡一卡二卡三乱码免费网站| 国产一区二区三区蝌蚪| 久久精品国产成人一区二区三区 | 国产精品综合二区| 久久国产精品免费| 日本不卡123| 日本成人超碰在线观看| 日韩国产精品久久久久久亚洲| 亚洲综合在线电影| 亚洲精品一二三| 亚洲乱码中文字幕综合| 亚洲精品高清在线观看| 综合欧美亚洲日本| 中文字幕亚洲电影| 亚洲欧美日韩国产综合| 亚洲精品乱码久久久久久| 亚洲女子a中天字幕| 亚洲精品精品亚洲| 偷拍一区二区三区| 蜜桃视频在线一区| 精品综合免费视频观看| 国产原创一区二区| 成人美女视频在线看| 99精品国产视频| 日本韩国欧美在线| 欧美日本免费一区二区三区| 欧美肥妇bbw| 欧美一级免费大片| 久久香蕉国产线看观看99| 久久久久久麻豆| 国产精品美女一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲综合一区二区精品导航| 首页国产丝袜综合| 国产一区二区在线观看视频| 国产91丝袜在线播放| 91年精品国产| 欧美夫妻性生活| 26uuu国产在线精品一区二区| 国产人伦精品一区二区| 亚洲欧美一区二区三区极速播放| 亚洲电影一区二区| 久久99精品久久久久久国产越南 | 国内精品免费**视频| 国产精品一二三四区| 9人人澡人人爽人人精品| 欧美三日本三级三级在线播放| 日韩欧美国产一区在线观看| 久久久久久久久一| 国产精品久久夜| 三级在线观看一区二区| 国产精品亚洲成人| 在线看不卡av| 亚洲精品一区二区三区香蕉| 一色桃子久久精品亚洲| 亚洲国产精品一区二区www| 国产在线视频不卡二| 91女神在线视频| 欧美一级高清片| 中文字幕在线免费不卡| 日韩精品久久久久久| 成人性生交大片免费看在线播放| 欧美中文字幕久久| 国产日本一区二区| 五月综合激情婷婷六月色窝| 国产激情一区二区三区| 欧美人狂配大交3d怪物一区| 国产清纯白嫩初高生在线观看91| 亚洲mv大片欧洲mv大片精品| 成人午夜av电影| 日韩一区二区麻豆国产| 亚洲精品乱码久久久久久黑人 | 日韩免费性生活视频播放| 亚洲欧洲成人自拍| 久久精品国产99国产精品| 色偷偷一区二区三区| 久久综合狠狠综合久久激情| 亚洲sss视频在线视频| 不卡一区二区三区四区| 久久美女艺术照精彩视频福利播放| 亚洲高清免费一级二级三级| 91网上在线视频| 中文成人综合网| 国产精品自产自拍| 欧美xxx久久| 五月天精品一区二区三区| 在线视频综合导航| 国产精品麻豆欧美日韩ww| 国产精品一品二品| 欧美tickling网站挠脚心| 婷婷国产在线综合| 欧美唯美清纯偷拍| 亚洲欧美日韩国产一区二区三区| 国产91对白在线观看九色| 精品精品欲导航| 免费不卡在线视频| 欧美一区二区三级| 亚洲va欧美va国产va天堂影院| 日本乱人伦一区| 自拍偷拍欧美激情| 成人av电影免费在线播放| 国产亚洲福利社区一区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美人牲a欧美精品| 天天影视涩香欲综合网| 欧美日韩国产综合一区二区| 亚洲国产一区二区a毛片| 欧美主播一区二区三区美女| 夜夜精品浪潮av一区二区三区| 在线看一区二区| 亚洲国产精品嫩草影院| 欧美美女黄视频| 日本网站在线观看一区二区三区| 欧美日韩精品一区二区| 午夜精品一区二区三区电影天堂| 欧美日韩另类一区| 日韩精品一区第一页| 日韩欧美美女一区二区三区| 精品在线一区二区| 国产亚洲福利社区一区| proumb性欧美在线观看|