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) enduart.on (×) 表示串口接收数据监听函数,注意之间是点不要与前面的: 搞混淆了!
socket:close()中的close是一个函数,需要加括号的!
uart.write(0,data) 使用的时候,要特别声明是串口0!
LUA的条件分支
if(条件) then .. end elseif(条件) then .. end else .. endUdpSocket: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开发、前/后端软件开发等。在未来我将继续专注于嵌入式相关领域,学习更多的科技知识,输出更高质量的博文。