使用 while 循环中的 wait() 函数运行一段时间后 Lua 崩溃

我正在使用 SIMCOM 5320a 芯片。

我有一个使用 os.clock() 和一个 while 循环计数器计数的简单代码,其中包含 wait() 函数。

然而,在计数到某个数字之后(大约 1 分钟左右),程序会崩溃并重启板子。

我的问题是:

是否在使用类似这样的 while 嵌套循环时违反了任何规则?

在 Lua 中是否有任何替换使用 sleep/wait 函数的方法?Simcom 有 vmsleep,但它在运行约 7 小时后会崩溃。

我尝试了多个 sleep/wait 函数。

我将代码简化以进行调试。

function sleep (a)
    local sec = tonumber(os.clock() + (a/1000));
    while (os.clock() < sec) do
    end
end

function main()
 local count=0
    while (count < 130) do
        count = count + 1
        print("尚未有任何提示..".. count .. "\r\n");
        sleep(2000)
    end
end

main()
点赞