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

📄 core_8h-source.html

📁 usbport-sl811usb主控器芯片usb程序实现
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00081"></a><a class="code" href="structusb__transfer__descriptor__ep__t.html#4eedd018f9afba03c00de51db7934433">00081</a>   <a class="code" href="core_8h.html#0a46ce3ac840fb8200582c283d8a067c">usb_transfer_descriptor_ep</a> *<a class="code" href="structusb__transfer__descriptor__ep__t.html#4eedd018f9afba03c00de51db7934433">next</a>;<a name="l00082"></a><a class="code" href="structusb__transfer__descriptor__ep__t.html#25831ae74a833e96bf6bd0d62f714dba">00082</a>   u8 <a class="code" href="structusb__transfer__descriptor__ep__t.html#25831ae74a833e96bf6bd0d62f714dba">device_address</a>;<a name="l00083"></a><a class="code" href="structusb__transfer__descriptor__ep__t.html#c246454943d6067d489fe6b8619cd9f8">00083</a>   u8 <a class="code" href="structusb__transfer__descriptor__ep__t.html#c246454943d6067d489fe6b8619cd9f8">endpoint</a>;<a name="l00084"></a><a class="code" href="structusb__transfer__descriptor__ep__t.html#a2a19c8fe80a80a0a39f34116de6cb4a">00084</a>   <a class="code" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor</a> *<a class="code" href="structusb__transfer__descriptor__ep__t.html#a2a19c8fe80a80a0a39f34116de6cb4a">start</a>;<a name="l00085"></a>00085 };<a name="l00086"></a>00086 <a name="l00087"></a>00087 <span class="preprocessor">#endif</span><a name="l00088"></a>00088 <span class="preprocessor"></span><a name="l00092"></a><a class="code" href="core_8h.html#ff1f997f9dcedd3e85f4f98488881c16">00092</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structusb__driver__t.html">usb_driver_t</a> <a class="code" href="core_8h.html#ff1f997f9dcedd3e85f4f98488881c16">usb_driver</a>;<a name="l00093"></a><a class="code" href="structusb__driver__t.html">00093</a> <span class="keyword">struct </span><a class="code" href="structusb__driver__t.html">usb_driver_t</a> {<a name="l00094"></a><a class="code" href="structusb__driver__t.html#65fe707a6163e32e09cbadc09e4947e6">00094</a>   <span class="keywordtype">char</span>* <a class="code" href="structusb__driver__t.html#65fe707a6163e32e09cbadc09e4947e6">name</a>;<a name="l00095"></a>00095   void (*<a class="code" href="structusb__driver__t.html#bfb489350640e1705ebb5d0655955a2b">probe</a>)(void);<a name="l00096"></a>00096   void (*<a class="code" href="structusb__driver__t.html#9b9ec145a03f3baa18a73d8aaf0f0b7f">check</a>)(void);<a name="l00097"></a><a class="code" href="structusb__driver__t.html#87bc1db73db9237172804012b55d72a1">00097</a>   <span class="keywordtype">void</span> * <a class="code" href="structusb__driver__t.html#87bc1db73db9237172804012b55d72a1">data</a>;<a name="l00098"></a><a class="code" href="structusb__driver__t.html#f7c6ecc6b5a081e1bab8f56a23c1380b">00098</a>   <a class="code" href="core_8h.html#ff1f997f9dcedd3e85f4f98488881c16">usb_driver</a> *<a class="code" href="structusb__driver__t.html#f7c6ecc6b5a081e1bab8f56a23c1380b">next</a>;<a name="l00099"></a>00099 };<a name="l00100"></a>00100 <a name="l00101"></a>00101 <a name="l00106"></a><a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">00106</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structusb__irp__t.html">usb_irp_t</a> <a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">usb_irp</a>;<a name="l00107"></a><a class="code" href="structusb__irp__t.html">00107</a> <span class="keyword">struct </span><a class="code" href="structusb__irp__t.html">usb_irp_t</a> {<a name="l00108"></a>00108   <span class="comment">//u8 devaddress;</span><a name="l00109"></a><a class="code" href="structusb__irp__t.html#e04ce88d979c32213334c48e85f6f580">00109</a>   <a class="code" href="core_8h.html#012617ff18a07f414412b30b4eadc6ef">usb_device</a> * <a class="code" href="structusb__irp__t.html#e04ce88d979c32213334c48e85f6f580">dev</a>;<a name="l00110"></a><a class="code" href="structusb__irp__t.html#b0279b91f248155736259f01f1c63cff">00110</a>   u8 <a class="code" href="structusb__irp__t.html#b0279b91f248155736259f01f1c63cff">endpoint</a>;              <span class="comment">/* ep -&gt; bit 7 is for direction 1=from  dev to host */</span><a name="l00111"></a><a class="code" href="structusb__irp__t.html#31f047a15ada2ec3359a453116a7aef5">00111</a>   u8 <a class="code" href="structusb__irp__t.html#31f047a15ada2ec3359a453116a7aef5">epsize</a>;<a name="l00112"></a><a class="code" href="structusb__irp__t.html#40eeb6df05363ca42df0226cff9c9ea7">00112</a>   u8 <a class="code" href="structusb__irp__t.html#40eeb6df05363ca42df0226cff9c9ea7">type</a>;                  <span class="comment">/* control, interrupt, bulk or isochron */</span><a name="l00113"></a>00113 <a name="l00114"></a><a class="code" href="structusb__irp__t.html#172d9bee644d4b4a226edadc0e30717e">00114</a>   <span class="keywordtype">char</span> * <a class="code" href="structusb__irp__t.html#172d9bee644d4b4a226edadc0e30717e">buffer</a>;<a name="l00115"></a><a class="code" href="structusb__irp__t.html#fa4f6365a38811223b2df1feb172f296">00115</a>   u16 <a class="code" href="structusb__irp__t.html#fa4f6365a38811223b2df1feb172f296">len</a>;<a name="l00116"></a>00116 <a name="l00117"></a>00117   <span class="comment">//list * td_list;</span><a name="l00118"></a><a class="code" href="structusb__irp__t.html#bb74e369de490438f0e682fd62940ab7">00118</a>   u16 <a class="code" href="structusb__irp__t.html#bb74e369de490438f0e682fd62940ab7">timeout</a>;<a name="l00119"></a>00119 };<a name="l00120"></a>00120 <a name="l00121"></a>00121 <a name="l00125"></a><a class="code" href="core_8h.html#cf719b5481c3bcd1af62d3e0d417754f">00125</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor_t</a> <a class="code" href="core_8h.html#cf719b5481c3bcd1af62d3e0d417754f">usb_transfer_descriptor</a>;<a name="l00126"></a><a class="code" href="structusb__transfer__descriptor__t.html">00126</a> <span class="keyword">struct </span><a class="code" href="structusb__transfer__descriptor__t.html">usb_transfer_descriptor_t</a> {<a name="l00127"></a><a class="code" href="structusb__transfer__descriptor__t.html#70d1338bd8d501e9e082742044a1e837">00127</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#70d1338bd8d501e9e082742044a1e837">devaddress</a>;<a name="l00128"></a><a class="code" href="structusb__transfer__descriptor__t.html#00d4d2b626a467350fc21a4d25e7fa3a">00128</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#00d4d2b626a467350fc21a4d25e7fa3a">endpoint</a>;<a name="l00129"></a>00129   <a name="l00130"></a>00130   <span class="comment">// TODO: zusammenfassen!</span><a name="l00131"></a><a class="code" href="structusb__transfer__descriptor__t.html#750c7c2a52edf4383feadc2e7304751e">00131</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#750c7c2a52edf4383feadc2e7304751e">pid</a>;<a name="l00132"></a><a class="code" href="structusb__transfer__descriptor__t.html#f48b7c4974ad7452abcdcbfc2c4a8e04">00132</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#f48b7c4974ad7452abcdcbfc2c4a8e04">iso</a>;<a name="l00133"></a><a class="code" href="structusb__transfer__descriptor__t.html#d670ef1edd400961daef64822e91fb65">00133</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#d670ef1edd400961daef64822e91fb65">togl</a>;  <a name="l00134"></a>00134   <a name="l00135"></a><a class="code" href="structusb__transfer__descriptor__t.html#8ea9bbef977ceb2252b3bafee15effd0">00135</a>   <span class="keywordtype">char</span> * <a class="code" href="structusb__transfer__descriptor__t.html#8ea9bbef977ceb2252b3bafee15effd0">buffer</a>;<a name="l00136"></a><a class="code" href="structusb__transfer__descriptor__t.html#cc909004b8156694735f4768d820b386">00136</a>   u16 <a class="code" href="structusb__transfer__descriptor__t.html#cc909004b8156694735f4768d820b386">actlen</a>;<a name="l00137"></a>00137   <a name="l00138"></a><a class="code" href="structusb__transfer__descriptor__t.html#917bef40da0319a85cf54024f9489453">00138</a>   u8 <a class="code" href="structusb__transfer__descriptor__t.html#917bef40da0319a85cf54024f9489453">state</a>;<a name="l00139"></a><a class="code" href="structusb__transfer__descriptor__t.html#4b74b064adb74bcfc9c4e769390da17c">00139</a>   <a class="code" href="core_8h.html#cf719b5481c3bcd1af62d3e0d417754f">usb_transfer_descriptor</a> *<a class="code" href="structusb__transfer__descriptor__t.html#4b74b064adb74bcfc9c4e769390da17c">next</a>;<a name="l00140"></a>00140 };<a name="l00141"></a>00141 <a name="l00142"></a>00142 <span class="comment">//typedef struct usb_core_t usb_core;</span><a name="l00143"></a><a class="code" href="structusb__core__t.html">00143</a> <span class="keyword">struct </span><a class="code" href="structusb__core__t.html">usb_core_t</a> {<a name="l00144"></a><a class="code" href="structusb__core__t.html#4ed68f7d87a19984777b841b3c96e494">00144</a>   u8 <a class="code" href="structusb__core__t.html#4ed68f7d87a19984777b841b3c96e494">nextaddress</a>;<a name="l00145"></a>00145   void (*<a class="code" href="structusb__core__t.html#b9bf335d756243d9965b975db8f853a1">stdout</a>)(<span class="keywordtype">char</span> * arg); <a name="l00146"></a>00146   <span class="comment">// driver list</span><a name="l00147"></a><a class="code" href="structusb__core__t.html#db8298483e9b41c795618e33e2038013">00147</a>   list * <a class="code" href="structusb__core__t.html#db8298483e9b41c795618e33e2038013">drivers</a>;<a name="l00148"></a><a class="code" href="structusb__core__t.html#2983961aa41c8e9a54945f950c7b9c34">00148</a>   list * <a class="code" href="structusb__core__t.html#2983961aa41c8e9a54945f950c7b9c34">devices</a>;<a name="l00149"></a>00149 } <a class="code" href="core_8h.html#e79ca4bd27b7b91dc5296ab6ada4ba8a">core</a>;<a name="l00150"></a>00150 <a name="l00151"></a>00151 <span class="keywordtype">void</span> <a class="code" href="core_8c.html#60af0d8621d025f018ba0f56bca00a93">usb_init</a>();<a name="l00152"></a>00152 <span class="keywordtype">void</span> <a class="code" href="core_8c.html#56f96c6ef2028c55dce92873a489419d">usb_periodic</a>();<a name="l00153"></a>00153 u8 <a class="code" href="core_8c.html#c58f28f1c2693257b89945e785403baf">usb_next_address</a>();<a name="l00154"></a>00154 <a name="l00155"></a>00155 <a name="l00156"></a>00156 <a class="code" href="core_8h.html#012617ff18a07f414412b30b4eadc6ef">usb_device</a> * <a class="code" href="core_8c.html#d25cbf02b3b5e22f22c697193bb87f92">usb_add_device</a>();<a name="l00157"></a>00157 u8 <a class="code" href="core_8c.html#750a0d6554fd2aec4459d0e3af2dd6ef">usb_remove_device</a>(<a class="code" href="core_8h.html#012617ff18a07f414412b30b4eadc6ef">usb_device</a> *dev);<a name="l00158"></a>00158 u8 <a class="code" href="core_8c.html#83545d627c3f35ae34e050aab48161ef">usb_register_driver</a>(<a class="code" href="core_8h.html#ff1f997f9dcedd3e85f4f98488881c16">usb_driver</a> *driver);<a name="l00159"></a>00159 <span class="keywordtype">void</span> <a class="code" href="core_8c.html#99cd77f8e4ac64be0d886f31148acb09">usb_probe_driver</a>();<a name="l00160"></a>00160 <a name="l00161"></a>00161 <a name="l00162"></a>00162 <a name="l00163"></a>00163 <a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">usb_irp</a> * <a class="code" href="core_8c.html#b4a317acc71220967da6cf6dd1da7ac9">usb_get_irp</a>();<a name="l00164"></a>00164 u8 <a class="code" href="core_8c.html#ddc2d9767934c9943b6e08b8b8125b33">usb_remove_irp</a>(<a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">usb_irp</a> *irp);<a name="l00165"></a>00165 u16 <a class="code" href="core_8c.html#265cc39d7b493019e5681b27a4349183">usb_submit_irp</a>(<a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">usb_irp</a> *irp);<a name="l00166"></a>00166 <a name="l00167"></a>00167 <a name="l00168"></a>00168 <a class="code" href="core_8h.html#cf719b5481c3bcd1af62d3e0d417754f">usb_transfer_descriptor</a> * <a class="code" href="core_8c.html#7e0bd9c92c1fb753304e6f77c0d6bd2c">usb_create_transfer_descriptor</a>(<a class="code" href="core_8h.html#29c6448aba2a7bc2ba69f2cefbbde1d5">usb_irp</a> *irp);<a name="l00169"></a>00169 <a name="l00170"></a>00170 <a name="l00171"></a><a class="code" href="core_8h.html#f944ea9c1c344120b6a76b558d17502f">00171</a> <span class="preprocessor">#define USB_IRP_WAITING   1</span><a name="l00172"></a>00172 <span class="preprocessor"></span><a name="l00173"></a>00173 <a name="l00174"></a><a class="code" href="core_8h.html#0f49f908740eb57b66ac6fd6fa34f254">00174</a> <span class="preprocessor">#define USB_TRANSFER_DESCR_NONE 1</span><a name="l00175"></a><a class="code" href="core_8h.html#15d88238c095718d6a84b0589f9cf361">00175</a> <span class="preprocessor"></span><span class="preprocessor">#define USB_TRANSFER_DESCR_SEND 2</span><a name="l00176"></a>00176 <span class="preprocessor"></span><a name="l00177"></a>00177 <span class="preprocessor">#endif  //_CORE_H_</span></pre></div><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 + -