迪文科技论坛

 找回密码
 立即注册
搜索
查看: 140|回复: 15

【提问】动态曲线和图形显示问题

[复制链接]

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
发表于 4 天前 | 显示全部楼层 |阅读模式
1、动态曲线能不能实现改变数值的时候再曲线的开始端进行改变,就是把改变的数值直接能够显示在曲线中间,而不是从两侧把曲线推出来。

2.动态曲线和图形显示变量控件叠加。我现在用图形显示控件现在一个填充矩形,进行移动,同时曲线进行显示,做一个擦除的效果。
单个测试的时候,矩形移动没问题,曲线显示没问题。同时发送串口指令的时候,就会出问题。矩形移动到三分之一的位置就会卡住,然后从头再开始移动,卡住的同时,曲线也会卡住,并且数据不准。串口指令是80ms发送一次,矩形每次移动2个像素点。我把矩形和曲线的指令同时发送也出问题,间隔10ms发送也出问题。
回复

使用道具 举报

0

主题

225

回帖

1939

积分

金牌会员

Rank: 6Rank: 6

积分
1939
发表于 4 天前 | 显示全部楼层
怎么发送的指令,地址是不是有冲突。
回复

使用道具 举报

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
 楼主| 发表于 4 天前 | 显示全部楼层
紫狐 发表于 2025-4-11 10:58
怎么发送的指令,地址是不是有冲突。

地址没有冲突,用的01通道,图形显示地址是5000。分开测试都没问题,走的很好。但是一起动作的时候,就会出现问题。
回复

使用道具 举报

0

主题

225

回帖

1939

积分

金牌会员

Rank: 6Rank: 6

积分
1939
发表于 4 天前 | 显示全部楼层
用0x310地址写曲线,需要确认0x310地址清零后,才能发下一条指令。
回复

使用道具 举报

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
 楼主| 发表于 4 天前 | 显示全部楼层
紫狐 发表于 2025-4-11 11:23
用0x310地址写曲线,需要确认0x310地址清零后,才能发下一条指令。

这个需要每次读取一下吗?我间隔100ms发的指令没问题,移动的填充矩形和曲线都可以显示。但是80ms就百搭了。矩形移动大约十次,就会卡主,同时曲线也会卡主。但是再次移动的时候,矩形又从头开始移动,曲线是继续往下移动的。我检测了单片机通信指令,没有问题。按理说,就算卡住了,矩形也应该继续往下移动,不能从头开始。
回复

使用道具 举报

0

主题

272

回帖

2547

积分

金牌会员

Rank: 6Rank: 6

积分
2547
发表于 3 天前 | 显示全部楼层
13396360806 发表于 2025-4-11 23:12
这个需要每次读取一下吗?我间隔100ms发的指令没问题,移动的填充矩形和曲线都可以显示。但是80ms就百搭 ...

需要确认0x310地址清零后,才能发下一条指令 避免上一次指令的数据还没处理完成
回复

使用道具 举报

0

主题

225

回帖

1939

积分

金牌会员

Rank: 6Rank: 6

积分
1939
发表于 3 天前 来自手机 | 显示全部楼层
每次都要读,从头开始估计就是数据长度被莫名的清零了。
回复

使用道具 举报

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
 楼主| 发表于 前天 09:36 | 显示全部楼层
紫狐 发表于 2025-4-12 09:45
每次都要读,从头开始估计就是数据长度被莫名的清零了。

u8 one_juxing[22]={0x5A,0xA5, 0x13,0x82,
                                   0X50,0x00,   //4-5地址
                                   0x00,0x04,   //6-7矩形填充
                                               0x00,0x01,                //8-9个数
                                                                                         0x00,0x3A,        //10-11 左上角x坐标
                                   0x00,0x3F,        //12-13 左上角y坐标
                                   0x00,0x3F,        //14-15 右下角x坐标
                                    0x01,0xCA,        //16-17 右下角y坐标
                                   0xF8,0x00,        //18-19 颜色
                                   0xFF,0x00,        //20-21 结束
                                  // 0x00,0x00,        //14-15 crc
发送的指令里面没有数据长度啊。我每次改变的都是x的坐标,y坐标是固定的。就是错误了,下次显示的位置也应该是再往后的位置,不应该是从头开始。
回复

使用道具 举报

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
 楼主| 发表于 前天 09:39 | 显示全部楼层
yuanbin2020 发表于 2025-4-12 08:37
需要确认0x310地址清零后,才能发下一条指令 避免上一次指令的数据还没处理完成 ...

80ms还不行吗?这样动画效果就差了,都有视觉暂留了
回复

使用道具 举报

20

主题

56

回帖

407

积分

中级会员

Rank: 3Rank: 3

积分
407
 楼主| 发表于 前天 10:33 | 显示全部楼层
紫狐 发表于 2025-4-12 09:45
每次都要读,从头开始估计就是数据长度被莫名的清零了。

现在光显示曲线 40个ms发送一次数据,曲线从最大点显示到0的时候,就会卡顿,数据倒是不丢,但是会卡。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-15 16:39 , Processed in 0.029610 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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