Lua回调函数在表中无法工作

我试图更改Xadow的Uart波特率,并试图在软件PDF上做同样的事情,但每次都会出现错误。我只需要知道应该如何编写语法。 这是Xadow作者的lua软件指南

config={}
config["bit"]=9
config["par"]=0
config["stop"]=1
config["bdr"]=9600

function uartData(uart_id,len,data)
print(data)
end

uart_id=uart.create(1,uartData(config))
点赞
用户2858170
用户2858170
`uart_id = uart.create(port,cb_func [,param])`

`param`是一个可选的Lua表,如文档所述。

您必须调用:

uart_id = uart.create(1, uartData, config)


而不是

uart_id = uart.create(1, uartData(config))

```

uartData(config)会将uartData的返回值(nil)传递给uart.create,而不是函数变量uartData

另外,您可以简单地写成config.bit=9,而不是config["bit"]=9

2019-12-02 13:17:48