我是 Lua 的新手,我正在尝试创建一个小应用程序来读取 adc 值。这里的重点是我正在尝试使用以下代码将值从一个表分配给另一个表,但它确实不起作用(没有错误,只是什么都不做):
-- Setting output GPIO pins
multip = { sc0 = 0, sc1 = 3, sc2 = 4 }
for k3,v3 in pairs(multip) do gpio.mode(v3, gpio.OUTPUT) end
-- Assigning ADC channels
HIHs = {
hum1 = {
sc0 = gpio.HIGH,
sc1 = gpio.LOW,
sc2 = gpio.HIGH
},
hum2 = {
sc0 = gpio.LOW,
sc1 = gpio.HIGH,
sc2 = gpio.HIGH
},
hum3 = {
sc0 = gpio.HIGH,
sc1 = gpio.HIGH,
sc2 = gpio.HIGH
}
}
-- Sequentially access each channel and read value
for g,t in pairs(HIHs) do
print("---------- Setting Humidity sensor " .. g .. " ----------")
for k4,v4 in pairs(multip) do
print("Writing pin " .. k4 .. " to " .. tostring(t[k4]))
gpio.write(v4, t[k4])
end
print("ADC Value: "..adc.read(0))
end
非常奇怪的是,如果我这样做:
for k1,v1 in pairs(HIHs) do for k2,v2 in pairs(v1) do print(k1,k2,v2) end end
我什至没有按正确的顺序获取 HIHs 表,它从第二个元素开始打印:
hum2 sc0 0
hum2 sc1 1
hum2 sc2 1
hum3 sc0 1
hum3 sc1 1
hum3 sc2 1
hum1 sc0 1
hum1 sc1 0
hum1 sc2 1
这段代码有什么问题?为什么我不能访问我的表格并且不应该按顺序打印它?除非我在 Lua 理解中明显遗漏了一些非常非常基本的东西......
谢谢你的帮助.... :)