|
看了DEMO的定时器应用,发现个问题,定时控件弹起和按下,显示没问题。但是为什么按键的键值,指令都没有对外发送,难道就是只能显示看看吗?
function on_control_notify(screen,control,value)
--************************
--功能: 按下按钮时启动定时器
--调用函数: start_timer(timer_id, timeout, countdown, repeat)
--函数功能: 启动定时器
--参数: timer_id: 定时器ID,0~31;
-- timeout: 超时时间,单位毫秒;
-- countdown: 0 顺计时,1 倒计时;
-- repeat: 重复次数,0 表示无限重复;
--************************
if screen==0 and control==1 and value==1 --按下第0页,第1个控件
then
start_timer(0,1000,1,0) --开启定时器0,超时时间2s
end
--************************
--功能: 松开按钮时停止定时器
--调用函数: stop_timer(timer_id)
--函数功能: 停止定时器
--参数: timer_id:定时器ID,0~31;
--************************
if screen==0 and control==1 and value==0 --松开第0页,第1个控件
then
stop_timer(0) --停止定时器0
end
end
local lamp_status=0
--[[***************************************************************************
** Function name: on_timer
** Descriptions: 定时器超时回调函数
** input parameters: timer_id,超时定时器的id;
***************************************************************************--]]
function on_timer(timer_id)
--************************
--功能: 定时器1超时,设置按钮2为按下状态(灯亮)
--调用函数: set_value(screen,control,value)
--函数功能: 设置按钮2为按下状态
--参数: screen: 目标画面ID;
-- control: 目标控件ID;
-- value: 0 按下,1 弹起;
--************************
if timer_id==0 --定时器0超时
then
if lamp_status==0 --当按钮为弹起状态
then
set_value(0,2,1) --设置按钮2为按下状态,灯亮
lamp_status=1
elseif lamp_status==1 --当按钮为按下状态
then
set_value(0,2,0) --设置按钮2为弹起状态,灯灭
lamp_status=0
end
end
end
--[[***************************************************************************
END FILE
***************************************************************************--]]
|
|