bl_iot_sdk/docs/Components/aos_cli.html

269 lines
9.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>cli &mdash; BL IoT SDK release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee 文档</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/style.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/custom.css" type="text/css" />
<link rel="author" title="关于这些文档"
href="../about.html"/>
<link rel="index" title="索引"
href="../genindex.html"/>
<link rel="search" title="搜索" href="../search.html"/>
<link rel="top" title="BL IoT SDK release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee 文档" href="../index.html"/>
<script src="../_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="../index.html" class="icon icon-home"> BL IoT SDK
<img src="../_static/Bouffalolab-logo.png" class="logo" />
</a>
<div class="version">
release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="在文档中搜索" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../get-started/index_602.html">BL602快速入门</a></li>
<li class="toctree-l1"><a class="reference internal" href="../get-started/index_702.html">BL702快速入门</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api-reference/index.html">BL602 API 参考</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Examples/index.html">Example</a></li>
<li class="toctree-l1"><a class="reference internal" href="index.html">Components</a></li>
<li class="toctree-l1"><a class="reference internal" href="../QA/index.html">QA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../hw-reference/index.html">H/W 参考</a></li>
<li class="toctree-l1"><a class="reference internal" href="../resources.html">相关资源</a></li>
<li class="toctree-l1"><a class="reference internal" href="../about.html">关于</a></li>
<li class="toctree-l1"><a class="reference internal" href="../languages.html">Languages/语言</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">BL IoT SDK</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li>cli</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Components/aos_cli.rst.txt" rel="nofollow"> 查看页面源码</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="cli">
<h1>cli<a class="headerlink" href="#cli" title="永久链接至标题"></a></h1>
<div class="section" id="id1">
<h2>概述<a class="headerlink" href="#id1" title="永久链接至标题"></a></h2>
<p>linux下有强大的shell工具可以让用户和片上系统进行交互而在传统的单片机系统中用户往往需要自行实现一套类似的交互工具。AliOS-Things原生带有一套名为clicommand-line
interface的命令行交互工具在提供基本的系统交互命令的基础上也支持用户自定义命令。我们已经将其移植到我们到系统中
同时对其做出了很多完善, 下面将介绍如何使用cli命令并执行</p>
</div>
<div class="section" id="id2">
<h2>示例代码<a class="headerlink" href="#id2" title="永久链接至标题"></a></h2>
<p>用户在只需在程序中调用<code class="docutils literal notranslate"><span class="pre">test_cli_init()</span></code>接口之后就可以在shell中<code class="docutils literal notranslate"><span class="pre">test</span></code>,就可以打印<code class="docutils literal notranslate"><span class="pre">hello</span> <span class="pre">world.</span></code>如下图所示</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#</span>
<span class="c1">#</span>
<span class="c1"># test</span>
<span class="n">hello</span> <span class="n">world</span><span class="o">.</span>
<span class="c1">#</span>
<span class="c1">#</span>
</pre></div>
</div>
<p>还有很多常用命令,请参考<a href="#id3"><span class="problematic" id="id4">`常用命令&lt;../helper/helper.html&gt;`_</span></a></p>
<div class="code c highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">static</span> <span class="n">void</span> <span class="n">cmd_test_func</span><span class="p">(</span><span class="n">char</span> <span class="o">*</span><span class="n">buf</span><span class="p">,</span> <span class="nb">int</span> <span class="nb">len</span><span class="p">,</span> <span class="nb">int</span> <span class="n">argc</span><span class="p">,</span> <span class="n">char</span> <span class="o">**</span><span class="n">argv</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s2">&quot;hello world.</span><span class="se">\r\n</span><span class="s2">&quot;</span><span class="p">);</span>
<span class="k">return</span><span class="p">;</span>
<span class="p">}</span>
<span class="n">const</span> <span class="n">static</span> <span class="n">struct</span> <span class="n">cli_command</span> <span class="n">cmds_user</span><span class="p">[]</span> <span class="o">=</span> <span class="p">{</span>
<span class="p">{</span><span class="s2">&quot;test&quot;</span><span class="p">,</span> <span class="s2">&quot;it&#39;s test func &quot;</span><span class="p">,</span> <span class="n">cmd_test_func</span><span class="p">}</span>
<span class="p">};</span>
<span class="nb">int</span> <span class="n">test_cli_init</span><span class="p">(</span><span class="n">void</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">return</span> <span class="n">aos_cli_register_commands</span><span class="p">(</span><span class="n">cmds_user</span><span class="p">,</span> <span class="n">sizeof</span><span class="p">(</span><span class="n">cmds_user</span><span class="p">)</span><span class="o">/</span><span class="n">sizeof</span><span class="p">(</span><span class="n">cmds_user</span><span class="p">[</span><span class="mi">0</span><span class="p">]));</span>
<span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2020, Bouffalo Lab.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> and ❤️ using a custom <a href="https://github.com/LinxiFan/Stanford-theme">theme</a> based on <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../',
VERSION:'release_bl_iot_sdk_1.6.39-238-gf5ba0a7ee',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>