4.5.1 LuaNode简介
<p>LuaNode是Lua在w800开发板上的移植,封装了各种外设操作方法,对Lua层提供操作接口。</p>
<p>Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。</p>
<p>本章介绍Lua在w800开发板的使用,代码基于联胜德提供的SDK基础上移植Lua解释器,实现Lua语音操作w800开发板各种外设。</p>
<p>联胜德官方SDK获取地址:<a href="https://www.winnermicro.com/html/1/156/158/558.html">https://www.winnermicro.com/html/1/156/158/558.html</a></p>
<p>Lua的特性:</p>
<ul>
<li>轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。</li>
<li>可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。</li>
<li>支持面向过程(procedure-oriented)编程和函数式编程(functional programming);</li>
<li>自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;</li>
<li>语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;</li>
<li>通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。</li>
</ul>
<p>Lua的作用:</p>
<ul>
<li>可以实现快速开发,进行一些简单功能的验证</li>
<li>可以在开发板实现一些简单功能的远程热更新,不必进行风险高的OTA更新操作,无需线刷</li>
</ul>
<p>LuaNode下载地址:
<a href="https://gitee.com/nicholas3388/lua-node-for-w800">https://gitee.com/nicholas3388/lua-node-for-w800</a></p>
<p>Lua在w800上的使用示例:</p>
<pre><code class="language-lua">print("Hello World!")</code></pre>