迪文科技论坛

 找回密码
 立即注册
搜索
查看: 347|回复: 2

【提问】请教屏幕无触摸一分钟后跳转回首屏

[复制链接]

1

主题

5

回帖

122

积分

注册会员

Rank: 2

积分
122
发表于 2024-1-2 18:09:09 | 显示全部楼层 |阅读模式
我看迪文的OS开发文档,好像可以直接实现屏幕无触摸操作后的跳转功能,但不是很会写汇编;请各位大佬能否给一个demo,照着瞅瞅,感谢感谢
回复

使用道具 举报

1

主题

5

回帖

122

积分

注册会员

Rank: 2

积分
122
 楼主| 发表于 2024-1-2 18:11:18 | 显示全部楼层
这是缝缝补补写的,但没成功,请教大佬


ORG 3000H         ; 设置程序起始地址为0x1000

GOTO MAIN         ; 跳转到主程序入口

NOP               ; 无操作
NOP
NOP

ORG 3080H         ; 设置程序起始地址为0x1080

MAIN:
  CONFIG 0X01,0X02,1  ; 初始化计时器
  LDWR R80, 0
  MOVRD R80, 37, 2    ; 清空37寄存器
  LDWR R0, 0014H
  MOVXR R40, 1, 1     ; 读取当前页面ID

TOUCH:
  LDWR R0, 0016H
  MOVXR R60, 1, 1
  IJNE R61, 0, SAVER  ; 有触摸操作判断页面,无触摸进入计时

  ; 计时器逻辑
  MOVDR 37, R80, 2    ; 从计时器取数到R80
  LDWR R82, 60000     ; 一分钟的计数值
  LDWR R83, 2         ; 乘以2,得到两分钟的计数值
  MATH 0, R83, R0     ; 将结果放在R0寄存器中
  ADD R82, R0, R82    ; 计算两分钟的计数值
  JU R80, R82, TIMEOUT ; 当R80 >= 120000 时跳转到TIMEOUT


  GOTO TOUCH          ; 回到触摸处理逻辑

SAVER:

  GOTO TOUCH          ; 回到触摸处理逻辑

TIMEOUT:
  ; 两分钟无触摸操作的处理逻辑
  LDWR R0, 0084H
  LDWR R30, 5A01H
  LDWR R32, 0001H
  MOVXR R30, 0, 2     ; 翻到1页
  GOTO MAIN           ; 跳转到主程序入口

END
回复

使用道具 举报

0

主题

1276

回帖

5624

积分

论坛元老

Rank: 8Rank: 8

积分
5624
发表于 2024-1-2 21:47:05 | 显示全部楼层
有个简单办法, 在CFG里面0D位置设置时息屏亮度(假设设置成30 ) 在0E0F位置设置息屏时间,然后用OS读取DGUS31 接口的亮度值, 变成30 后就切换页面 。这样就可以做成一段时间不按就自动切换页面的效果。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-18 18:41 , Processed in 0.031768 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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