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

📄 core_8h.html

📁 usbport-sl811usb主控器芯片usb程序实现
💻 HTML
📖 第 1 页 / 共 2 页
字号:
      </table></div><div class="memdoc"><p>Enumerate new device and create data structures for the core. usb_add_device expected that the device answers to address zero. </div></div><p><a class="anchor" name="7e0bd9c92c1fb753304e6f77c0d6bd2c"></a><!-- doxytag: member="core.h::usb_create_transfer_descriptor" ref="7e0bd9c92c1fb753304e6f77c0d6bd2c" args="(usb_irp *irp)" --><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>* usb_create_transfer_descriptor           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__irp__t.html">usb_irp</a> *&nbsp;</td>          <td class="paramname"> <em>irp</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Create a transfer descriptor with an parent irp. </div></div><p><a class="anchor" name="b4a317acc71220967da6cf6dd1da7ac9"></a><!-- doxytag: member="core.h::usb_get_irp" ref="b4a317acc71220967da6cf6dd1da7ac9" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname"><a class="el" href="structusb__irp__t.html">usb_irp</a>* usb_get_irp           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Not implemented. </div></div><p><a class="anchor" name="60af0d8621d025f018ba0f56bca00a93"></a><!-- doxytag: member="core.h::usb_init" ref="60af0d8621d025f018ba0f56bca00a93" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_init           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Initialize USB stack. </div></div><p><a class="anchor" name="c58f28f1c2693257b89945e785403baf"></a><!-- doxytag: member="core.h::usb_next_address" ref="c58f28f1c2693257b89945e785403baf" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_next_address           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Get next free usb device address. </div></div><p><a class="anchor" name="56f96c6ef2028c55dce92873a489419d"></a><!-- doxytag: member="core.h::usb_periodic" ref="56f96c6ef2028c55dce92873a489419d" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_periodic           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Call this function periodically for control and transfer management. </div></div><p><a class="anchor" name="99cd77f8e4ac64be0d886f31148acb09"></a><!-- doxytag: member="core.h::usb_probe_driver" ref="99cd77f8e4ac64be0d886f31148acb09" args="()" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usb_probe_driver           </td>          <td>(</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Call every probe function from every registered driver, to check if there is a valid driver for the new device. </div></div><p><a class="anchor" name="6dda3b9fd835433080e92265e3678a8b"></a><!-- doxytag: member="core.h::usb_register_driver" ref="6dda3b9fd835433080e92265e3678a8b" args="(usb_driver *driver)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_register_driver           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__driver__t.html">usb_driver</a> *&nbsp;</td>          <td class="paramname"> <em>dev</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Register new driver at usb stack. <p>first check to find a suitable device (root hub drivers need this call here) </div></div><p><a class="anchor" name="750a0d6554fd2aec4459d0e3af2dd6ef"></a><!-- doxytag: member="core.h::usb_remove_device" ref="750a0d6554fd2aec4459d0e3af2dd6ef" args="(usb_device *dev)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_remove_device           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__device__t.html">usb_device</a> *&nbsp;</td>          <td class="paramname"> <em>dev</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Find currently detached device and remove data structures </div></div><p><a class="anchor" name="ddc2d9767934c9943b6e08b8b8125b33"></a><!-- doxytag: member="core.h::usb_remove_irp" ref="ddc2d9767934c9943b6e08b8b8125b33" args="(usb_irp *irp)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u8 usb_remove_irp           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__irp__t.html">usb_irp</a> *&nbsp;</td>          <td class="paramname"> <em>irp</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Not implemented. </div></div><p><a class="anchor" name="265cc39d7b493019e5681b27a4349183"></a><!-- doxytag: member="core.h::usb_submit_irp" ref="265cc39d7b493019e5681b27a4349183" args="(usb_irp *irp)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">u16 usb_submit_irp           </td>          <td>(</td>          <td class="paramtype"><a class="el" href="structusb__irp__t.html">usb_irp</a> *&nbsp;</td>          <td class="paramname"> <em>irp</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>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. <p>You can see at bit 7 of bmRequestType if this stage is used, default requests are always 8 byte greate, from host to device. Stage 3 is only neccessary if the request expected datas from the device. bit7 - 1 = from device to host -&gt; yes we need data stage bit7 - 0 = from host to device -&gt; no send zero packet<p>nach einem setup token kann nur ein IN token in stage 3 folgen nie aber ein OUT. Ein Zero OUT wird nur als Bestaetigung benoetigt.<p>bit7 = 1 Device to Host<ul><li>es kommen noch Daten mit PID_IN an</li><li>host beendet mit PID_OUT DATA1 Zero bit7 - 0 Host zu Device (wie set address)</li><li>device sendet ein PID_IN DATA1 Zero Packet als bestaetigung</li></ul><p>bit7 = 1, host beendet mit PID_OUT DATA1 Zero bit7 = 0, device sendet ein PID_IN DATA1 Zero Packet als bestaetigung </div></div><p><hr><h2>Variable Documentation</h2><a class="anchor" name="e79ca4bd27b7b91dc5296ab6ada4ba8a"></a><!-- doxytag: member="core.h::core" ref="e79ca4bd27b7b91dc5296ab6ada4ba8a" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">struct <a class="el" href="structusb__core__t.html">usb_core_t</a>  <a class="el" href="core_8h.html#e79ca4bd27b7b91dc5296ab6ada4ba8a">core</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:10 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 + -