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

📄 usbhw__lpc_8c.html

📁 Free Usb Stack for NXP LPC2xxx microcontrollers.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>LPCUSB: usbhw_lpc.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="annotated.html"><span>Classes</span></a></li>    <li id="current"><a href="files.html"><span>Files</span></a></li>    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="files.html"><span>File&nbsp;List</span></a></li>    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>  </ul></div><h1>usbhw_lpc.c File Reference</h1><code>#include &quot;<a class="el" href="type_8h-source.html">type.h</a>&quot;</code><br><code>#include &quot;usbdebug.h&quot;</code><br><code>#include &quot;usbhw_lpc.h&quot;</code><br><code>#include &quot;<a class="el" href="usbapi_8h-source.html">usbapi.h</a>&quot;</code><br><p>Include dependency graph for usbhw_lpc.c:<p><center><img src="usbhw__lpc_8c__incl.png" border="0" usemap="#usbhw_lpc.c_map" alt=""></center><map name="usbhw_lpc.c_map"><area href="type_8h.html" shape="rect" coords="431,107,489,133" alt=""><area href="usbdebug_8h-source.html" shape="rect" coords="152,56,243,83" alt=""><area href="usbhw__lpc_8h-source.html" shape="rect" coords="149,107,245,133" alt=""><area href="usbapi_8h.html" shape="rect" coords="161,157,233,184" alt=""><area href="usbstruct_8h-source.html" shape="rect" coords="293,157,381,184" alt=""></map><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#3eaf046a4008f5e987d369949ada44bf">DEBUG_LED_INIT</a>(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#e0c331b0f232393b6ac7b5c4194cf1c7">DEBUG_LED_ON</a>(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#73b1055927a84310c708efeb0165480b">DEBUG_LED_OFF</a>(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#00ae1ba9be3cc10583f6d81776b9fd4e">EP2IDX</a>(bEP)&nbsp;&nbsp;&nbsp;((((bEP)&amp;0xF)&lt;&lt;1)|(((bEP)&amp;0x80)&gt;&gt;7))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#998d2a16b853abfa50f30cc0c53ddd38">IDX2EP</a>(idx)&nbsp;&nbsp;&nbsp;((((idx)&lt;&lt;7)&amp;0x80)|(((idx)&gt;&gt;1)&amp;0xF))</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#5ada0136922486ee6dc717e03efede55">USBHwEPConfig</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP, <a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a> wMaxPacketSize)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#85fbcc30e3f2c1a15cd35ffe286b4776">USBHwRegisterEPIntHandler</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP, <a class="el" href="usbapi_8h.html#9f0289bc183dac1d5606b9d65ed4570a">TFnEPIntHandler</a> *pfnHandler)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#cb6cdbd30764f387eb33b8e62ab0afa6">USBHwRegisterDevIntHandler</a> (<a class="el" href="usbapi_8h.html#3c28198dfc59c12995260c2432d6e81d">TFnDevIntHandler</a> *pfnHandler)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#1e0e4a449cf9334f86b813a31345c3b0">USBHwRegisterFrameHandler</a> (<a class="el" href="usbapi_8h.html#b23495399cf12995fade53dd265a0b9f">TFnFrameHandler</a> *pfnHandler)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#216e35f2dda04232ef6aaa4ad9d408ec">USBHwSetAddress</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bAddr)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#539f89b5ac053db030cb222aac269e50">USBHwConnect</a> (<a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> fConnect)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#4887b1838764c8e463d5a032089f0d05">USBHwNakIntEnable</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bIntBits)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#91f2b13376bc9bae21a4b06a770ef44d">USBHwEPGetStatus</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#bf9ed734b1ea9fd15bb8db33484e76be">USBHwEPStall</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP, <a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> fStall)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#8732fefd72cb8989d4a06094cd9e5841">USBHwEPWrite</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP, <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> *pbBuf, int iLen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#f7ac95bd8fcbdd75e699ce965a3fabdf">USBHwEPRead</a> (<a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> bEP, <a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> *pbBuf, int iMaxLen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#cb24f45e62a6a4818cebb3738d9b3399">USBHwConfigDevice</a> (<a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a> fConfigured)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#6f1d4fe24123509bb7e6164c6826a08e">USBHwISR</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#1dfca6c758c755918d5bc1be85cdac51">USBHwInit</a> (void)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>USB hardware layer <hr><h2>Define Documentation</h2><a class="anchor" name="3eaf046a4008f5e987d369949ada44bf"></a><!-- doxytag: member="usbhw_lpc.c::DEBUG_LED_INIT" ref="3eaf046a4008f5e987d369949ada44bf" args="(x)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define DEBUG_LED_INIT          </td>          <td>(</td>          <td class="paramtype">x&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>LED initialisation macro </div></div><p><a class="anchor" name="73b1055927a84310c708efeb0165480b"></a><!-- doxytag: member="usbhw_lpc.c::DEBUG_LED_OFF" ref="73b1055927a84310c708efeb0165480b" args="(x)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define DEBUG_LED_OFF          </td>          <td>(</td>          <td class="paramtype">x&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>turn LED off </div></div><p><a class="anchor" name="e0c331b0f232393b6ac7b5c4194cf1c7"></a><!-- doxytag: member="usbhw_lpc.c::DEBUG_LED_ON" ref="e0c331b0f232393b6ac7b5c4194cf1c7" args="(x)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define DEBUG_LED_ON          </td>          <td>(</td>          <td class="paramtype">x&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>turn LED on </div></div><p><a class="anchor" name="00ae1ba9be3cc10583f6d81776b9fd4e"></a><!-- doxytag: member="usbhw_lpc.c::EP2IDX" ref="00ae1ba9be3cc10583f6d81776b9fd4e" args="(bEP)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define EP2IDX          </td>          <td>(</td>          <td class="paramtype">bEP&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;((((bEP)&amp;0xF)&lt;&lt;1)|(((bEP)&amp;0x80)&gt;&gt;7))</td>        </tr>      </table></div><div class="memdoc"><p>convert from endpoint address to endpoint index </div></div><p><a class="anchor" name="998d2a16b853abfa50f30cc0c53ddd38"></a><!-- doxytag: member="usbhw_lpc.c::IDX2EP" ref="998d2a16b853abfa50f30cc0c53ddd38" args="(idx)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define IDX2EP          </td>          <td>(</td>          <td class="paramtype">idx&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%">&nbsp;&nbsp;&nbsp;((((idx)&lt;&lt;7)&amp;0x80)|(((idx)&gt;&gt;1)&amp;0xF))</td>        </tr>      </table></div><div class="memdoc"><p>convert from endpoint index to endpoint address </div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="cb24f45e62a6a4818cebb3738d9b3399"></a><!-- doxytag: member="usbhw_lpc.c::USBHwConfigDevice" ref="cb24f45e62a6a4818cebb3738d9b3399" args="(BOOL fConfigured)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void USBHwConfigDevice           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a>&nbsp;</td>          <td class="paramname"> <em>fConfigured</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Sets the 'configured' state.<p>All registered endpoints are 'realised' and enabled, and the 'configured' bit is set in the device status register.<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fConfigured</em>&nbsp;</td><td>If TRUE, configure device, else unconfigure </td></tr>  </table></dl></div></div><p><a class="anchor" name="539f89b5ac053db030cb222aac269e50"></a><!-- doxytag: member="usbhw_lpc.c::USBHwConnect" ref="539f89b5ac053db030cb222aac269e50" args="(BOOL fConnect)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void USBHwConnect           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="type_8h.html#050c65e107f0c828f856a231f4b4e788">BOOL</a>&nbsp;</td>          <td class="paramname"> <em>fConnect</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Connects or disconnects from the USB bus<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fConnect</em>&nbsp;</td><td>If TRUE, connect, otherwise disconnect </td></tr>  </table></dl></div></div><p><a class="anchor" name="5ada0136922486ee6dc717e03efede55"></a><!-- doxytag: member="usbhw_lpc.c::USBHwEPConfig" ref="5ada0136922486ee6dc717e03efede55" args="(U8 bEP, U16 wMaxPacketSize)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void USBHwEPConfig           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a>&nbsp;</td>          <td class="paramname"> <em>bEP</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype"><a class="el" href="type_8h.html#c4de1ae30664d5bd186fb6b2ae44e725">U16</a>&nbsp;</td>          <td class="paramname"> <em>wMaxPacketSize</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Configures an endpoint and enables it<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bEP</em>&nbsp;</td><td>Endpoint number </td></tr>    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>wMaxPacketSize</em>&nbsp;</td><td>Maximum packet size for this EP </td></tr>  </table></dl></div></div><p><a class="anchor" name="91f2b13376bc9bae21a4b06a770ef44d"></a><!-- doxytag: member="usbhw_lpc.c::USBHwEPGetStatus" ref="91f2b13376bc9bae21a4b06a770ef44d" args="(U8 bEP)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a> USBHwEPGetStatus           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a>&nbsp;</td>          <td class="paramname"> <em>bEP</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Gets the status from a specific endpoint.<p><dl compact><dt><b>Parameters:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>bEP</em>&nbsp;</td><td>Endpoint number </td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>Endpoint status byte (containing EP_STATUS_xxx bits) </dd></dl></div></div><p><a class="anchor" name="f7ac95bd8fcbdd75e699ce965a3fabdf"></a><!-- doxytag: member="usbhw_lpc.c::USBHwEPRead" ref="f7ac95bd8fcbdd75e699ce965a3fabdf" args="(U8 bEP, U8 *pbBuf, int iMaxLen)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int USBHwEPRead           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="type_8h.html#3cb25ca6f51f003950f9625ff05536fc">U8</a>&nbsp;</td>          <td class="paramname"> <em>bEP</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>

⌨️ 快捷键说明

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