如何使用NLUA设置C# SerialPort对象?

我在我的应用程序中以以下方式初始化 Lua:

lua = new Lua();
lua.LoadCLRPackage();
lua["SerialPort"] = new SerialPort();
lua.DoFile("script.lua");

并添加到项目 System.IO.Ports 中,以创建 SerialPort 对象。因此,我的脚本包含以下内容:

import ('Mynamespace')
import ('System.IO.Ports')
local myport=SerialPort("COM7",9600)

执行后,我出现了异常:尝试调用全局 'SerialPort'(userdata 值)

我应该更改什么来使用下一个结构:SerialPort(String,Int 32),并在我的脚本中访问“BaudRate”,“PortName”SerialPort 对象的字段?

点赞
用户6392782
用户6392782
import ('ManipulatorGUI')
local myport={}
myport=SerialPort   //在“myport=SerialPort”之前,我添加了“local myport = {}”,这使我能够设置域波特率和端口名称。
myport.BaudRate=9600
myport.PortName="COM6"
myport:Open()
2017-06-02 10:59:54
用户11681787
用户11681787

这段代码对我有用:

Ports = CLRPackage("System.IO.Ports", "System.IO.Ports")

port = Ports.SerialPort("COM5", 9600)

port.Open(port)

print(port.ReadTimeout)

port.WriteLine(port,"Hello");

port.Dispose(port)
2022-08-05 14:50:53