Как сделать currentMilis и предыдущие Millis похожими на arduino в скрипте Lua - PullRequest
0 голосов
/ 29 января 2019

Я пишу чрезвычайно простой скрипт на Lua с использованием simcom GPU.

Он будет подсчитывать, сколько раз мигание светодиода и возвращает строку, соответствующую номеру счетчика.До сих пор я использовал os.clock () для выполнения работы, но результат не тот, который я ожидал.

function counter()
        local t1 = os.clock()   
        while (ReadADC1() > 98) do

            local t2 = os.clock()
            local dt = t2 - t1
            t1 = t2
            local ledValue = ReadADC1()

            if ((ledValue >= OnThreshHold) and (dt < 1)) then -- if led is on for less than 1 second
                ledCounter = ledCounter + 1
                --vmsleep(100)
            elseif ((ReadADC1() < OnThreshHold) and (dt > 2.3)) then-- if led is off for more than 2 second
                ledCounter = 0;
                --vmsleep(100)
            else
                ledCounter = ledCounter
            end

            --print (ledValue,"\r\n")
        end
        print(ledCounter,"\r\n")
        --return ledCounter 
end

В этом случае, если я использую эту функцию counter (), она будет работать только в том случае, если значение из ReadADC () вводится на короткое время, а затем останавливается.Это не будет работать, если АЦП постоянно читает поток данных.

В arduino решение чрезвычайно просто, поскольку вы можете использовать currentmillis и previousMillis для определения временного промежутка между вспышками.Итак, в Луа, у нас есть что-нибудь подобное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...