【ESP8266之LUA开发】番外篇2:实战LUA使用技巧【总结版】

xiaoxiao2021-02-28  69

LUA开发基础知识,移步<这里>。


关于数据类型, LUA只有table 表(数组+字符串), 并且下标还是从1开始的!

"~=" 这个在LUA中才是不等于号

LUA只要赋值一个变量,这个变量就自动定义为全局变量了!

没有连+ 比如 += 。

for 的两种写法

--遍历tab获取键值对 --No.1 for k, v in pairs(tab) do print(k .. " - " .. v) end --No.2 for i=1, 10 do print(a[i]) end

对多变量赋值要进行依次赋值。

特别注意,当索引是字符串类型的时候,才能去掉引号,直接用点。

a = {} a["key"] = "key" print(a["key"]) print(a.key) string.char(arg) 和 string.byte(arg[,int])char 将整型数字转成字符并连接byte 转换字符为整数值(可以指定某个字符,默认第一个字符)。 print(string.char(97,98,99,100)) >abcd print(string.byte("ABCD",2)) --B的ASCII是66 >66 print(string.byte("ABCD")) --A的ASCII是65 >65 获取数据中某一位的方法data:byte(×) data = "ABCD" print(data:byte(4)) >68 if Mode:byte(1) == 48 then print("Wifi MODE: SOFTAP") wifi.setmode(wifi.SOFTAP) elseif Mode:byte(1) == 49 then print("Wifi MODE: STATION") wifi.setmode(wifi.STATION) else print("Wifi MODE: STATIONAP") wifi.setmode(wifi.STATIONAP) end

uart.on (×) 表示串口接收数据监听函数,注意之间是点不要与前面的: 搞混淆了!

socket:close()中的close是一个函数,需要加括号的!

uart.write(0,data) 使用的时候,要特别声明是串口0!

LUA的条件分支

if(条件) then .. end elseif(条件) then .. end else .. end

UdpSocket:on("receive", function(socket, data, port, ip)此处的socket以及data参数在前面

UdpSocket:send(ConnectPort, ConnectIP, data) data参数在后面

string.len 获取字符串的长度

string.sub 截取字符串的部分

ReCclay 认证博客专家 嵌入式软件开发 机器/深度学习 全栈技术学习者 大家好,我是博主ReCclay,目前处于研究生阶段,就读于电子科技大学,主攻方向为汽车辅助驾驶算法研究。入站以来,凭借坚持与热爱,以博文的方式分享所学,截止目前累计博文数量达800余篇,累计受益人次达130w+次,涉及领域包括但不限于物联网开发、单片机开发、Linux驱动开发、FPGA开发、前/后端软件开发等。在未来我将继续专注于嵌入式相关领域,学习更多的科技知识,输出更高质量的博文。
转载请注明原文地址: https://www.6miu.com/read-85218.html

最新回复(0)