Deploying to gh-pages from @ cherry-embedded/CherryUSB@58ccd1f76d 🚀

This commit is contained in:
sakumisu
2024-09-26 14:02:44 +00:00
parent 4472dc678f
commit 06a3fcd7f4
3 changed files with 35 additions and 26 deletions

View File

@@ -20,30 +20,34 @@
第三步
---------
非常好,到这步,说明你已经能熟练移植和跑通所有示例了,那么接下来,你应该学习什么呢?请直接跳到 **USB 枚举** 章节,了解下 USB 枚举过程,然后你会知道 USB 的两个概念 **请求** 和 **描述符**。群文件有各类设备枚举的抓包,可以下下来看看
非常好,到这步,说明你已经能熟练移植和跑通所有示例了,那么接下来,你应该学习什么呢? **事务** **请求** 和 **描述符**(在 USB 的学习过程中,你只需要知道这三个,其余都不需要知道)
第四步
----------
当你看了 **USB 枚举** 章节并且知道了一个概念, **描述符** 以后,这个时候,你就可以去简单看看什么是描述符,有哪些描述符,然后你需要记住, **设备、配置、接口、端点描述符的组成**,并背下来,其余的你都不需要知道,因为其他都是固定的,后续都是 CV
首先我们需要知道 USB 事务包含 SETUP/IN/OUT其实就是等价于发送命令发送数据和接收数据很简单。至于下面枚举中你在外面的网络中所听到的控制阶段数据阶段状态阶段他不是事务他只是用多个事务代表了一个阶段而已
第五步
----------
然后,你可以再去看看请求结构体的组成,看看有哪些请求,简单了解即可,为什么呢?因为它不过就是 8 字节的数据格式,大家都会写一个 UART + 自定义协议,那么 USB 的请求也是一样的,只不过是规定好了而已
然后你再去看 **USB 枚举** 章节并且知道了一个概念: **描述符** ,这个时候,你可以去简单看看什么是描述符,有哪些描述符,然后你需要记住, **设备、配置、接口、端点描述符的组成**,并背下来,其余的你都不需要知道,因为其他都是固定的,后续都是 CV 。群文件有各类设备枚举的抓包,可以下下来看看
第六步
----------
这个时候,你该去熟悉下协议栈的一些 API 了,参考 **API 手册** 章节。并且你需要知道中断完成的条件是什么,什么时候算接收完成,什么时候算发送完成,可以参考 **USB 知识点拓展** 章节
然后呢,你可以再去看看什么是 **请求** ,请求结构体的组成,看看有哪些请求,简单了解即可,为什么呢?因为它不过就是 8 字节的数据格式,大家都会写一个 UART + 自定义协议,那么 USB 的请求也是一样的,只不过是规定好了而已
第七步
----------
到这步呢,你肯定已经非常懂了,然后就可以开始你的一些小功能小项目了,在此期间呢,请循环查看 **USB 知识点拓展** 章节,直到你真的理解了,因为这些内容是非常重要的,会影响我们代码的执行结果
这个时候,你该去熟悉下协议栈的一些 API 了,参考 **API 手册** 章节。并且你需要知道中断完成的条件是什么,什么时候算接收完成,什么时候算发送完成,可以参考 **USB 知识点拓展** 章节
第八步
----------
到这步呢,你肯定已经非常懂了,然后就可以开始你的一些小功能小项目了,在此期间呢,请循环查看 **USB 知识点拓展** 章节,直到你真的理解了,因为这些内容是非常重要的,会影响我们代码的执行结果。
第九步
----------
都到这步了,你应该不需要我了,这个时候,你可以去看看 USB 概念,看看 USB 的一些细节,看看 CherryUSB 的代码流程了。然后就是巩固巩固再巩固了。恭喜你,出师了!!!

View File

@@ -50,11 +50,12 @@
<li class="toctree-l2"><a class="reference internal" href="#id2">第一步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id3">第二步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id4">第三步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id5">第四步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id6">第五步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id7">第六步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id8">第七步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id9">第八步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id7">第四步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id8">第五步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id9">第六步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id10">第七步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id11">第八步</a></li>
<li class="toctree-l2"><a class="reference internal" href="#id12">第九步</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="demo.html">基于现有 demo 快速验证</a></li>
@@ -175,26 +176,30 @@
</div>
<div class="section" id="id4">
<h2>第三步<a class="headerlink" href="#id4" title="Permalink to this headline"></a></h2>
<p>非常好,到这步,说明你已经能熟练移植和跑通所有示例了,那么接下来,你应该学习什么呢?请直接跳到 <strong>USB 枚举</strong> 章节,了解下 USB 枚举过程,然后你会知道 USB 的两个概念 <strong>请求</strong> <strong>描述符</strong>。群文件有各类设备枚举的抓包,可以下下来看看</p>
</div>
<div class="section" id="id5">
<h2>第四步<a class="headerlink" href="#id5" title="Permalink to this headline"></a></h2>
<p>当你看了 <strong>USB 枚举</strong> 章节并且知道了一个概念, <strong>描述符</strong> 以后,这个时候,你就可以去简单看看什么是描述符,有哪些描述符,然后你需要记住, <strong>设备、配置、接口、端点描述符的组成</strong>,并背下来,其余的你都不需要知道,因为其他都是固定的,后续都是 CV 。</p>
</div>
<div class="section" id="id6">
<h2>第五步<a class="headerlink" href="#id6" title="Permalink to this headline"></a></h2>
<p>然后呢,你可以再去看看请求结构体的组成,看看有哪些请求,简单了解即可,为什么呢?因为它不过就是 8 字节的数据格式,大家都会写一个 UART + 自定义协议,那么 USB 的请求也是一样的,只不过是规定好了而已。</p>
<p>非常好,到这步,说明你已经能熟练移植和跑通所有示例了,那么接下来,你应该学习什么呢? <strong>事务</strong> <strong>请求</strong><a href="#id5"><span class="problematic" id="id6">**</span></a>描述符**(在 USB 的学习过程中,你只需要知道这三个,其余都不需要知道)</p>
</div>
<div class="section" id="id7">
<h2><a class="headerlink" href="#id7" title="Permalink to this headline"></a></h2>
<p>这个时候,你该去熟悉下协议栈的一些 API 了,参考 <strong>API 手册</strong> 章节。并且你需要知道中断完成的条件是什么,什么时候算接收完成,什么时候算发送完成,可以参考 <strong>USB 知识点拓展</strong> 章节</p>
<h2><a class="headerlink" href="#id7" title="Permalink to this headline"></a></h2>
<p>首先我们需要知道 USB 事务包含 SETUP/IN/OUT其实就是等价于发送命令发送数据和接收数据很简单。至于下面枚举中你在外面的网络中所听到的控制阶段数据阶段状态阶段他不是事务他只是用多个事务代表了一个阶段而已</p>
</div>
<div class="section" id="id8">
<h2><a class="headerlink" href="#id8" title="Permalink to this headline"></a></h2>
<p>到这步呢,你肯定已经非常懂了,然后就可以开始你的一些小功能小项目了,在此期间呢,请循环查<strong>USB 知识点拓展</strong> 章节,直到你真的理解了,因为这些内容是非常重要的,会影响我们代码的执行结果</p>
<h2><a class="headerlink" href="#id8" title="Permalink to this headline"></a></h2>
<p>然后你再去<strong>USB 枚举</strong> 章节并且知道了一个概念: <strong>描述符</strong> ,这个时候,你就可以去简单看看什么是描述符,有哪些描述符,然后你需要记住, <strong>设备、配置、接口、端点描述符的组成</strong>,并背下来,其余的你都不需要知道,因为其他都是固定的,后续都是 CV 。群文件有各类设备枚举的抓包,可以下下来看看</p>
</div>
<div class="section" id="id9">
<h2><a class="headerlink" href="#id9" title="Permalink to this headline"></a></h2>
<h2><a class="headerlink" href="#id9" title="Permalink to this headline"></a></h2>
<p>然后呢,你可以再去看看什么是 <strong>请求</strong> ,请求结构体的组成,看看有哪些请求,简单了解即可,为什么呢?因为它不过就是 8 字节的数据格式,大家都会写一个 UART + 自定义协议,那么 USB 的请求也是一样的,只不过是规定好了而已。</p>
</div>
<div class="section" id="id10">
<h2>第七步<a class="headerlink" href="#id10" title="Permalink to this headline"></a></h2>
<p>这个时候,你该去熟悉下协议栈的一些 API 了,参考 <strong>API 手册</strong> 章节。并且你需要知道中断完成的条件是什么,什么时候算接收完成,什么时候算发送完成,可以参考 <strong>USB 知识点拓展</strong> 章节。</p>
</div>
<div class="section" id="id11">
<h2>第八步<a class="headerlink" href="#id11" title="Permalink to this headline"></a></h2>
<p>到这步呢,你肯定已经非常懂了,然后就可以开始你的一些小功能小项目了,在此期间呢,请循环查看 <strong>USB 知识点拓展</strong> 章节,直到你真的理解了,因为这些内容是非常重要的,会影响我们代码的执行结果。</p>
</div>
<div class="section" id="id12">
<h2>第九步<a class="headerlink" href="#id12" title="Permalink to this headline"></a></h2>
<p>都到这步了,你应该不需要我了,这个时候,你可以去看看 USB 概念,看看 USB 的一些细节,看看 CherryUSB 的代码流程了。然后就是巩固巩固再巩固了。恭喜你,出师了!!!</p>
</div>
</div>

File diff suppressed because one or more lines are too long