广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2499|回复: 4

关于定时器的应用

[复制链接]

16

主题

25

帖子

133

积分

注册会员

Rank: 2

积分
133
发表于 2023-10-7 19:01:26 | 显示全部楼层 |阅读模式
看了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
***************************************************************************--]]

回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12613
发表于 2023-10-8 11:11:52 | 显示全部楼层
按钮的对外指令没有发送吗?
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

16

主题

25

帖子

133

积分

注册会员

Rank: 2

积分
133
 楼主| 发表于 2023-10-9 22:38:00 | 显示全部楼层
If后要接end 发表于 2023-10-8 11:11
按钮的对外指令没有发送吗?

是的,只有图标变化,没对外指令
回复

使用道具 举报

16

主题

25

帖子

133

积分

注册会员

Rank: 2

积分
133
 楼主| 发表于 2023-10-11 19:36:42 | 显示全部楼层
没有回复吗
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12613
发表于 2023-10-12 09:03:32 | 显示全部楼层
你复制的这段没看到有调用串口api向外发送指令,如果是说按钮的状态变化指令(大彩指令)没有发出的话,需要看一下当前的工程协议是不是大彩协议,工程设置里面有没有禁用按钮的事件通知
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2024-11-1 07:34 , Processed in 0.059457 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表