В данном уроке мы с Вами изучим работу таймеров для улучшения программы с предыдущего урока. Для начала мы сделаем два файла. Первый у нас так и останется init.lua, а вторым файлом сделаем main.lua. В первом файле мы опишем все переменные и сделаем инициализацию нашей периферии. Таким образом мы получим привычную систему где у нас есть отдельно инициализация и не посредственно сама программа.
Для запуска нового файла нам нужна команда dofile («main.lua») в качестве аргумента которой мы указываем имя запускаемого файла:
print(‘Ok’)
dofile(«main.lua»)
И так у нас теперь есть отдельно инициализация и выполняющая программа. Теперь нам нужно, что бы вместо символов «*» при подключении к интернету у нас моргал светодиод используя таймер, а после подключения таймер останавливался и уничтожался. Таким образом мы освободим ресурсы микроконтроллера для других задач.
Для начала мы рассмотрим один из вариантов уничтожения таймера:
data=0
flag=0
mytimer=tmr.create()
function asktimer(t)
if flag==1 then
t:stop()
t:unregister()
t,mytimer=nil,nil
end
print(«timer work»)
data=data+1
print(data)
if data==5 then
print(«Timer kill»)
flag=1
end
end
mytimer:alarm(1000,tmr.ALARM_AUTO,asktimer)