迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1681|回复: 5

在OS程序中实现数据变量显示控件的隐藏、恢复显示功能

[复制链接]

6

主题

14

回帖

141

积分

注册会员

Rank: 2

积分
141
发表于 2020-4-3 09:18:10 | 显示全部楼层 |阅读模式
数据变量显示控件的变量地址为:0x5000,描述指针地址为:0x8000;
该控件的隐藏显示指令是:5A A5 05 82 8000 FF00;恢复显示指令是:5A A5 05 82 8000 5000;在OS程序中:
隐藏显示:
        LDWR        R0,0x8000
        LDWR        R251,0xFF00
        MOVXR        R251,0,1
恢复显示:
        LDWR        R0,0x8000
        LDWR        R251,0x5000
        MOVXR        R251,0,1

为什么不能实现预期的隐藏、恢复功能?

回复

使用道具 举报

0

主题

90

回帖

1400

积分

金牌会员

Rank: 6Rank: 6

积分
1400
发表于 2020-4-3 09:42:03 | 显示全部楼层
楼主,看一下使用的是什么型号的屏,单独的这样看OS里面是这样写确实是隐藏和显示控件,写隐藏和显示的指令前面应该有相应的判断吧,还有看一下是不是描述指针有冲突,描述指针周围16个地址要预留出来
回复

使用道具 举报

6

主题

14

回帖

141

积分

注册会员

Rank: 2

积分
141
 楼主| 发表于 2020-4-3 10:37:10 | 显示全部楼层
使用的是T5UID1的屏,隐藏和显示指令的前面是自己定义的数据处理和判断,目前定义了四个数据显示控件,变量地址分别是5000、5001、5002、5003,描述指针地址分别是8000、8010、8020、8030
回复

使用道具 举报

0

主题

239

回帖

1788

积分

金牌会员

Rank: 6Rank: 6

积分
1788
发表于 2020-4-3 14:45:08 | 显示全部楼层
楼主最好看下完整判断的代码,什么时候执行到隐藏和显示。     隐藏和显示的代码是没错的,主要要看逻辑怎么执行到这一步去。
回复

使用道具 举报

6

主题

14

回帖

141

积分

注册会员

Rank: 2

积分
141
 楼主| 发表于 2020-4-4 20:47:12 | 显示全部楼层
尝试了另一种方法——改变坐标位置,依旧不能实现预期的隐藏、恢复功能
在这两个功能之后各自伴随着相应的其他操作,除了这两个功能以外的所有操作都能正确执行,可见在完成判断之后的调用函数都是能够正常运行的

再慢慢排查一下原因
回复

使用道具 举报

6

主题

14

回帖

141

积分

注册会员

Rank: 2

积分
141
 楼主| 发表于 2020-4-8 23:29:50 | 显示全部楼层
问题解决了:问题出在前面的判断上,修改了判断条件就能正确执行了。
发现了一个点:串口读取的字符串中,回车符\r(0x0D)和换行符\n(0x0A),是没有被读取到寄存器中的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 06:09 , Processed in 0.087051 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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