⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ethernet_8c.html

📁 Freescale mcu OpenTCP-1.0.4.doc.html.zip 文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>ethernet.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; <a class="qindex" href="examples.html">Examples</a> &nbsp; </center><hr><h1>/opentcp/ethernet.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> <dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasystems.com">jari.lahti@violasystems.com</a>) <li> Vladan Jovanovic (<a href="mailto:vladan.jovanovic@violasystems.com">vladan.jovanovic@violasystems.com</a>) </ul></dl><dl compact><dt><b>Version: </b></dt><dd>1.0 </dl><dl compact><dt><b>Date: </b></dt><dd>19.2.2002 </dl><dl compact><dt><b><a class="el" href="bug.html#_bug000011">Bug: </a></b></dt><dd></dl> <dl compact><dt><b>Warning: </b></dt><dd> </dl><dl compact><dt><b><a class="el" href="todo.html#_todo000011">Todo: </a></b></dt><dd><ul><li> How to adopt to different MCU speeds in the code?</dl></ul>OpenTCP implementation of Ethernet protocol and driver for Realtek's RTL8019AS Ethernet controller. Function declarations,data structures etc. may be found in <a class="el" href="ethernet_8h.html">inet/ethernet.h</a>.<p><p>Definition in file <a class="el" href="ethernet_8c-source.html">ethernet.c</a>.<p><a href="ethernet_8c-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a5">outNE2000</a> (UINT8 reg, UINT8 dat)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Write data to NE2000 register.</em> <a href="#a5"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a6">outNE2000again</a> (UINT8 dat)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Write data to the same NE2000 register as before.</em> <a href="#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a7">outNE2000againbuf</a> (UINT8 *buf, UINT16 len)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Write buffer data to the same NE2000 register as before.</em> <a href="#a7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a8">inNE2000</a> (UINT8 reg)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Read byte from NE2000 register.</em> <a href="#a8"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a9">inNE2000again</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Continue reading byte(s) from NE2000.</em> <a href="#a9"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a10">inNE2000againbuf</a> (UINT8 *buf, UINT16 len)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Read bytes from NE2000 to buffer.</em> <a href="#a10"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a11">NE2000CheckRxFrame</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Check to see if new frame has been received.</em> <a href="#a11"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a12">NE2000DumpRxFrame</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Discard current received frame.</em> <a href="#a12"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__core__initializer.html#a1">NE2000Init</a> (UINT8 *mac)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Initialize and configure RTL8019AS.</em> <a href="group__core__initializer.html#a1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__periodic__functions.html#a1">NE2000CheckOverFlow</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Check if receive-buffer overflow occured.</em> <a href="group__periodic__functions.html#a1"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a15">NE2000ReceiveFrame</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Checks if new Ethernet frame exists and initializes variables accordingly.</em> <a href="#a15"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a16">InitTransmission</a> (UINT8 page)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Initialize transmission of new packet.</em> <a href="#a16"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a17">NE2000WriteEthernetHeader</a> (struct <a class="el" href="structethernet__frame.html">ethernet_frame</a> *frame)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Write Ethernet Header to transmission buffer.</em> <a href="#a17"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a18">NE2000DMAInit</a> (UINT8 page)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Initialize NE2000 in preparation for remote DMA.</em> <a href="#a18"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a19">NE2000DMAInit_position</a> (UINT16 pos)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Initialize reading from NE2000.</em> <a href="#a19"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a20">NE2000SendFrame</a> (UINT16 len)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Instruct NIC to send the Ethernet frame.</em> <a href="#a20"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a21">NE2000EnterSleep</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Put NE2000 to sleep mode.</em> <a href="#a21"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a22">NE2000ExitSleep</a> (void)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Restore NE2000 from sleep mode.</em> <a href="#a22"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Variables</h2></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a0">NE2000NextPktPtr</a></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a1">NE2000CurrPktPtr</a></td></tr><tr><td nowrap align=right valign=top>UINT8&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a2">EtherSleep</a> = 0</td></tr><tr><td nowrap align=right valign=top><a class="el" href="structethernet__frame.html">ethernet_frame</a>&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a3">received_frame</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Used for storing various information about the received Ethernet frame.</em> <a href="#a3"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top><a class="el" href="structethernet__frame.html">ethernet_frame</a>&nbsp;</td><td valign=bottom><a class="el" href="ethernet_8c.html#a4">send_frame</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Used for storing various information about the Ethernet frame that will be sent.</em> <a href="#a4"></a><em></em></font><br><br></td></tr></table><hr><h2>Function Documentation</h2><a name="a5" doxytag="ethernet.c::outNE2000"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void outNE2000 </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">UINT8&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>reg</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>UINT8&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>dat</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasytems.com">jari.lahti@violasytems.com</a>) </ul></dl><dl compact><dt><b>Date: </b></dt><dd>19.02.2002 </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>reg</em>&nbsp;</td><td>NE2000 register address </td></tr><tr><td valign=top><em>dat</em>&nbsp;</td><td>new register content</td></tr></table></dl>Write data to NE2000 register. <p>Definition at line <a class="el" href="ethernet_8c-source.html#l00118">118</a> of file <a class="el" href="ethernet_8c-source.html">ethernet.c</a>.<p>References <a class="el" href="config_8h-source.html#l00097">ADRBUS</a>, <a class="el" href="config_8h-source.html#l00091">DATABUS</a>, <a class="el" href="config_8h-source.html#l00094">DATADIR</a>, <a class="el" href="config_8h-source.html#l00082">DDR_OUT</a>, <a class="el" href="config_8h-source.html#l00102">IOCHRDY</a>, and <a class="el" href="config_8h-source.html#l00100">IOW</a>.<p>Referenced by <a class="el" href="ethernet_8c-source.html#l00570">InitTransmission()</a>, <a class="el" href="ethernet_8c-source.html#l00393">NE2000CheckOverFlow()</a>, <a class="el" href="ethernet_8c-source.html#l00274">NE2000CheckRxFrame()</a>, <a class="el" href="ethernet_8c-source.html#l00639">NE2000DMAInit()</a>, <a class="el" href="ethernet_8c-source.html#l00665">NE2000DMAInit_position()</a>, <a class="el" href="ethernet_8c-source.html#l00304">NE2000DumpRxFrame()</a>, <a class="el" href="ethernet_8c-source.html#l00760">NE2000EnterSleep()</a>, <a class="el" href="ethernet_8c-source.html#l00779">NE2000ExitSleep()</a>, <a class="el" href="ethernet_8c-source.html#l00327">NE2000Init()</a>, <a class="el" href="ethernet_8c-source.html#l00482">NE2000ReceiveFrame()</a>, and <a class="el" href="ethernet_8c-source.html#l00725">NE2000SendFrame()</a>.    </td>  </tr></table><a name="a6" doxytag="ethernet.c::outNE2000again"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void outNE2000again </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">UINT8&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>dat</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasystems.com">jari.lahti@violasystems.com</a>) </ul></dl><dl compact><dt><b>Date: </b></dt><dd>19.02.2002 </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>dat</em>&nbsp;</td><td>new register content</td></tr></table></dl>Invoke this function to write data to the same register as  in previously invoked <a class="el" href="ethernet_8c.html#a5">outNE2000()</a>. Saves some cycles because data direction registers and address are set up.<p>Use <a class="el" href="system_8h.html#a11">SEND_NETWORK_B()</a> macro instead of invoking this function directly. <p>Definition at line <a class="el" href="ethernet_8c-source.html#l00148">148</a> of file <a class="el" href="ethernet_8c-source.html">ethernet.c</a>.<p>References <a class="el" href="config_8h-source.html#l00091">DATABUS</a>, <a class="el" href="config_8h-source.html#l00102">IOCHRDY</a>, and <a class="el" href="config_8h-source.html#l00100">IOW</a>.<p>Referenced by <a class="el" href="ethernet_8c-source.html#l00725">NE2000SendFrame()</a>, and <a class="el" href="ethernet_8c-source.html#l00608">NE2000WriteEthernetHeader()</a>.    </td>  </tr></table><a name="a7" doxytag="ethernet.c::outNE2000againbuf"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void outNE2000againbuf </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">UINT8 *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>buf</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>UINT16&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>len</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasystems.com">jari.lahti@violasystems.com</a>) </ul></dl><dl compact><dt><b>Date: </b></dt><dd>20.07.2003 </dl><dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>buf</em>&nbsp;</td><td>pointer to buffer from which we're taking data </td></tr><tr><td valign=top><em>len</em>&nbsp;</td><td>number of bytes from buffer to write</td></tr></table></dl>Invoke this function to write data from a buffer to the same  register as in previously invoked <a class="el" href="ethernet_8c.html#a5">outNE2000()</a>. Saves some  cycles because data direction registers and address are set up.<p>Use <a class="el" href="system_8h.html#a12">SEND_NETWORK_BUF()</a> macro instead of invoking this function directly. <p>Definition at line <a class="el" href="ethernet_8c-source.html#l00175">175</a> of file <a class="el" href="ethernet_8c-source.html">ethernet.c</a>.<p>References <a class="el" href="config_8h-source.html#l00091">DATABUS</a>, <a class="el" href="config_8h-source.html#l00102">IOCHRDY</a>, and <a class="el" href="config_8h-source.html#l00100">IOW</a>.    </td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -