迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1621|回复: 11

【提问】还是触控关闭问题

[复制链接]

38

主题

82

回帖

715

积分

高级会员

Rank: 4

积分
715
发表于 2020-7-21 18:16:36 | 显示全部楼层 |阅读模式
一次关闭十几个触控,程序执行判断时间太长了,整个过程大概要2.5秒才可以,因为选择不同的模式会关闭不同的触控,选择完一个模式切换到另一个模式中间大概需要2.5秒的时间,这样程序执行时间太长了,完全不符合要求,也可能是我的程序写的有问题
关了触控还要判断0XB0有没有清零,如果不判断的话直接写下来只会关闭最后一个触控,加了判断执行时间就太长了,想过用单片机发指令,但是通讯次数太多,不能判断指令是否错误。
有没有办法给优化一下
下附关触控加判断

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

48

回帖

775

积分

高级会员

Rank: 4

积分
775
发表于 2020-7-21 21:00:07 | 显示全部楼层
判断清零是必要的。您所描述的问题,明天我找我们研发工程师沟通一下。
回复

使用道具 举报

38

主题

82

回帖

715

积分

高级会员

Rank: 4

积分
715
 楼主| 发表于 2020-8-6 14:44:03 | 显示全部楼层
更新一下,执行速度慢是我程序写错了,应该如附图这样的写的这样写能够关闭,而且基本不影响执行速度
测试关闭大概200个增量和弹出菜单组件,执行下来基本无延迟

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

7

回帖

67

积分

注册会员

Rank: 2

积分
67
发表于 2020-11-12 15:42:08 | 显示全部楼层
你好, “关了触控还要判断0XB0有没有清零,如果不判断的话直接写下来只会关闭最后一个触控”,这句话怎么理解。我也碰到了这样的问题,连续关闭几个触控按键,有漏掉的。还有,请问怎么判断 0xb是否清零呢?
回复

使用道具 举报

38

主题

82

回帖

715

积分

高级会员

Rank: 4

积分
715
 楼主| 发表于 2020-11-13 09:00:09 | 显示全部楼层
zhuxk061111 发表于 2020-11-12 15:42
你好, “关了触控还要判断0XB0有没有清零,如果不判断的话直接写下来只会关闭最后一个触控”,这句话怎么 ...

就是关闭一个触控就要判断一次0XB0有没有清零,如果没有判断的话一次关闭好多个触控最后只会关闭程序里写的最后一个关闭的触控,因为0XB0清零了这一个关闭触控的程序才算执行完成。
回复

使用道具 举报

2

主题

8

回帖

77

积分

注册会员

Rank: 2

积分
77
发表于 2023-6-12 13:23:48 | 显示全部楼层
这部分代码转换成C语言应该是什么样呢,想求教
回复

使用道具 举报

0

主题

577

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10277
发表于 2023-6-12 14:09:53 | 显示全部楼层
yangshulin 发表于 2023-6-12 13:23
这部分代码转换成C语言应该是什么样呢,想求教




您可以参考上图,具体使用还请先看下教程,下面两个帖子都可以看看

【教学视频】0xB0关闭部分触控+0xFC关闭全部触控
http://inforum.dwin.com.cn:20080 ... 1&fromuid=50098
(出处: 迪文科技论坛)



【提问】关于触控指令访问接口 0xB0 怎么用
http://inforum.dwin.com.cn:20080 ... 7&fromuid=50098
(出处: 迪文科技论坛)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

2

主题

8

回帖

77

积分

注册会员

Rank: 2

积分
77
发表于 2023-6-12 15:19:17 | 显示全部楼层
Dearall 发表于 2023-6-12 14:09
您可以参考上图,具体使用还请先看下教程,下面两个帖子都可以看看

【教学视频】0xB0关闭部分触控+0x ...

读取部分我用的是循环队列,在队列中出队判断是否形成完整的一条命令,再根据命令进行操作的
回复

使用道具 举报

2

主题

1228

回帖

9372

积分

论坛元老

Rank: 8Rank: 8

积分
9372
发表于 2023-6-12 15:22:53 | 显示全部楼层
//PageID 页面ID
//  TouchType 触摸类型,具体请参见触摸列表。0x05表示按钮,0x06表示文本输入
//TouchID 在DGUS控件中除基础控件外,当前页面的序号值。
//Status 状态:1表示打开,0表示关闭。
void TouchSwitch(u16 PageID, u8 TouchType, u8 TouchID, u8 Status)
{
        u8 k_data[8];

        *(u16*)k_data = 0x5aa5;
        *(u16*)&k_data[2] = PageID;
        k_data[4] = TouchID;
        k_data[5] = TouchType;
        if(Status)
                *(u16*)&k_data[6] = 1;
        else
                *(u16*)&k_data[6] = 0;
        write_dgus_vp(0xb0,k_data,4);
        do
        {
                delay_us(500);
                read_dgus_vp(0xb0,k_data,1);
        }while(k_data[0]!=0);
}
回复

使用道具 举报

13

主题

16

回帖

392

积分

中级会员

Rank: 3Rank: 3

积分
392
发表于 2023-12-8 16:06:39 | 显示全部楼层
Dearall 发表于 2023-6-12 14:09
您可以参考上图,具体使用还请先看下教程,下面两个帖子都可以看看

【教学视频】0xB0关闭部分触控+0x ...

你好,请问图片中的Assign_Keys代表什么
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-25 10:28 , Processed in 0.072675 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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