📄 usbhw__lpc_8c.html
字号:
<!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 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 Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul></div><h1>usbhw_lpc.c File Reference</h1><code>#include "<a class="el" href="type_8h-source.html">type.h</a>"</code><br><code>#include "usbdebug.h"</code><br><code>#include "usbhw_lpc.h"</code><br><code>#include "<a class="el" href="usbapi_8h-source.html">usbapi.h</a>"</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 </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 </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 </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#00ae1ba9be3cc10583f6d81776b9fd4e">EP2IDX</a>(bEP) ((((bEP)&0xF)<<1)|(((bEP)&0x80)>>7))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="usbhw__lpc_8c.html#998d2a16b853abfa50f30cc0c53ddd38">IDX2EP</a>(idx) ((((idx)<<7)&0x80)|(((idx)>>1)&0xF))</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </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 </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 </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 </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 </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 </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 </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> </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 </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 </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 </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 </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 </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> </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((((bEP)&0xF)<<1)|(((bEP)&0x80)>>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 </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> ((((idx)<<7)&0x80)|(((idx)>>1)&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> </td> <td class="paramname"> <em>fConfigured</em> </td> <td> ) </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> </td><td valign="top"><em>fConfigured</em> </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> </td> <td class="paramname"> <em>fConnect</em> </td> <td> ) </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> </td><td valign="top"><em>fConnect</em> </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> </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> </td> <td class="paramname"> <em>wMaxPacketSize</em></td><td> </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> </td><td valign="top"><em>bEP</em> </td><td>Endpoint number </td></tr> <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>wMaxPacketSize</em> </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> </td> <td class="paramname"> <em>bEP</em> </td> <td> ) </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> </td><td valign="top"><em>bEP</em> </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> </td> <td class="paramname"> <em>bEP</em>, </td> </tr> <tr> <td class="paramkey"></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -