跳转至

任务

基础概念介绍

任务在脚本层可以解释为一个task,当用户开启一个任务等同与在脚本层新建了一个task,所以在用户启用任务功能之前,建议用户先熟悉luat的基础语法,点击此处即可进行luat基础语法的学习。

使用方法

任务的使用需要谨慎,按照如下固定格式来写

    function
    --用户自定义代码
    end

例如

function
    --定义一个叫做count的变量,并使它的初始值为0
    local count=0
    --进入一个循环
    while true do
        --发布一个消息给串口,输出count变量的值
        sys.publish("NET_RECV_WAIT_1",1,tostring(count))
        --令count的值自增1
        count = count +1  
        --发布一个消息到服务器,同样输出count变量的值
        sys.publish("NET_SENT_RDY_1",tostring(count))
        --延时5s
        sys.wait(5000)
    end
end

最终效果如下图所示 任务1

任务2

任务里可以完成一些拓展功能,比如免MCU使用模块的iic接口去读取并处理传感器数据,就可以在任务里处理(建议将传感器驱动放在iic.lua文件里)。 例如:客户在iic.lua中写了一个叫sht30的函数,并return了返回值,我们就可以在任务中去读取到返回值,任务代码如下所示**。

function
    --定义一个叫做temp和hump的变量,并使它们的初始值为0
    local temp=0
    local hump=0
    --进入一个循环
    while true do
    temp,hump = iic.sht30()
        --发布一个消息给串口,输出temp和hump的值
        sys.publish("NET_RECV_WAIT_1",tostring(temp),tostring(hump))
        --发布一个消息到服务器,同样输出temp和hump的值
        sys.publish("NET_SENT_RDY_1",tostring(temp),tostring(hump))
        --延时5s
        sys.wait(5000)
    end
end

当传感器和模块连线正确且传感器和模块均在正常工作的时候,服务器和串口都能收到这条带有temp和hump的消息。 以上两个演示仅是任务的实例demo,用户可根据自己的实际需要去写自己的任务

回到页面顶部