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

📄 at90usb1287-hcd_8c.html

📁 usbport-sl811usb主控器芯片usb程序实现
💻 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>usbstack: /home/bene/projects/sl811/usbstack/host/at90usb1287-hcd.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>  </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>/home/bene/projects/sl811/usbstack/host/at90usb1287-hcd.c File Reference</h1><code>#include &quot;<a class="el" href="host_8h-source.html">host.h</a>&quot;</code><br><code>#include &lt;wait.h&gt;</code><br><code>#include &lt;stdlib.h&gt;</code><br><code>#include &quot;<a class="el" href="at90usb1287_8h-source.html">at90usb1287.h</a>&quot;</code><br><code>#include &lt;avr/io.h&gt;</code><br><code>#include &quot;uart.h&quot;</code><br><code>#include &lt;<a class="el" href="core_8h-source.html">core/core.h</a>&gt;</code><br><code>#include &lt;<a class="el" href="usb11spec_8h-source.html">usbspec/usb11spec.h</a>&gt;</code><br><table border="0" cellpadding="0" cellspacing="0"><tr><td></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="at90usb1287-hcd_8c.html#3c41bd8208a4ccb6902dfab1ada4e82c">at90usb1287_roothub_probe</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#1a3d009906c9ffdce273133c14cb4638">at90usb1287_roothub_check</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#e8558b50d99a54990fc4815536e97817">at90usb1287_start_transfer</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#a5e728976c2dc39c8374ddbea42e9864">hcdi_init</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#156486d5382dea364107d54250a29795">hcdi_enqueue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">u8&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#2937060a6cc3d0d69f04ea1d33d24de1">hcdi_dequeue</a> (<a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *td)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#68ce1031b8a7a610ec829f164d6f33cd">hcdi_irq</a> ()</td></tr><tr><td colspan="2"><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__device__t.html">usb_device</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__driver__t.html">usb_driver</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#4ee608227528ece23c06ed0cea3e5d5d">at90usb1287_roothub</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structusb__device__t.html">usb_device</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="at90usb1287-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="1a3d009906c9ffdce273133c14cb4638"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub_check" ref="1a3d009906c9ffdce273133c14cb4638" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void at90usb1287_roothub_check           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>This function is called periodical, to notice port changes after an hub </div></div><p><a class="anchor" name="3c41bd8208a4ccb6902dfab1ada4e82c"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub_probe" ref="3c41bd8208a4ccb6902dfab1ada4e82c" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void at90usb1287_roothub_probe           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Find and initial root hub </div></div><p><a class="anchor" name="e8558b50d99a54990fc4815536e97817"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_start_transfer" ref="e8558b50d99a54990fc4815536e97817" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void at90usb1287_start_transfer           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="2937060a6cc3d0d69f04ea1d33d24de1"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_dequeue" ref="2937060a6cc3d0d69f04ea1d33d24de1" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 hcdi_dequeue           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *&nbsp;</td>          <td class="paramname"> <em>td</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Remove an transfer descriptor from transfer queue. </div></div><p><a class="anchor" name="156486d5382dea364107d54250a29795"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_enqueue" ref="156486d5382dea364107d54250a29795" args="(usb_transfer_descriptor *td)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 hcdi_enqueue           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *&nbsp;</td>          <td class="paramname"> <em>td</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>hcdi_enqueue takes usb_irp and split it into several usb packeges (SETUP,IN,OUT) In the usbstack they are transported with the usb_transfer_descriptor data structure. </div></div><p><a class="anchor" name="a5e728976c2dc39c8374ddbea42e9864"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_init" ref="a5e728976c2dc39c8374ddbea42e9864" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void hcdi_init           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Intial host controller and necessary software structures. </div></div><p><a class="anchor" name="68ce1031b8a7a610ec829f164d6f33cd"></a><!-- doxytag: member="at90usb1287-hcd.c::hcdi_irq" ref="68ce1031b8a7a610ec829f164d6f33cd" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void hcdi_irq           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>IRQ from host controller. </div></div><p><hr><h2>Variable Documentation</h2><a class="anchor" name="4ee608227528ece23c06ed0cea3e5d5d"></a><!-- doxytag: member="at90usb1287-hcd.c::at90usb1287_roothub" ref="4ee608227528ece23c06ed0cea3e5d5d" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__driver__t.html">usb_driver</a> <a class="el" href="at90usb1287-hcd_8c.html#4ee608227528ece23c06ed0cea3e5d5d">at90usb1287_roothub</a>          </td>        </tr>      </table></div><div class="memdoc"><p><b>Initial value:</b><div class="fragment"><pre class="fragment"> {  .name   = <span class="stringliteral">"at90usb1287_roothub"</span>,  .probe  = <a class="code" href="at90usb1287-hcd_8c.html#3c41bd8208a4ccb6902dfab1ada4e82c">at90usb1287_roothub_probe</a>,  .check  = <a class="code" href="at90usb1287-hcd_8c.html#1a3d009906c9ffdce273133c14cb4638">at90usb1287_roothub_check</a>,  .data   = NULL,}</pre></div></div></div><p><a class="anchor" name="62e872bcf4a481ddb425c94ac5ec3be7"></a><!-- doxytag: member="at90usb1287-hcd.c::device_on_downstream" ref="62e872bcf4a481ddb425c94ac5ec3be7" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__device__t.html">usb_device</a>* <a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a>          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="62e872bcf4a481ddb425c94ac5ec3be7"></a><!-- doxytag: member="at90usb1287-hcd.c::device_on_downstream" ref="62e872bcf4a481ddb425c94ac5ec3be7" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__device__t.html">usb_device</a>* <a class="el" href="sl811hs-hcd_8c.html#62e872bcf4a481ddb425c94ac5ec3be7">device_on_downstream</a>          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="fc9f5e8894c82e44f3ebe104df7d5fb6"></a><!-- doxytag: member="at90usb1287-hcd.c::td_usba" ref="fc9f5e8894c82e44f3ebe104df7d5fb6" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#fc9f5e8894c82e44f3ebe104df7d5fb6">td_usba</a>          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="14a82e7d20769a960e54b3eaa0122b94"></a><!-- doxytag: member="at90usb1287-hcd.c::td_usbb" ref="14a82e7d20769a960e54b3eaa0122b94" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a>* <a class="el" href="sl811hs-hcd_8c.html#14a82e7d20769a960e54b3eaa0122b94">td_usbb</a>          </td>        </tr>      </table></div><div class="memdoc"><p></div></div><p><hr size="1"><address style="align: right;"><small>Generated on Tue Jul 17 08:14:11 2007 for usbstack by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>

⌨️ 快捷键说明

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