请选择 进入手机版 | 继续访问电脑版

迪文科技论坛

 找回密码
 立即注册
搜索
热搜: T5L 视频屏 DGUS OS
查看: 496|回复: 4

【提问】T5L 动态曲线和C51

[复制链接]

2

主题

9

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2020-10-29 22:03:19 | 显示全部楼层 |阅读模式
用C51开发T5L 动态显示  如果单独用0x310 地址发数据显示正常,现在我想先把通道0数据存到0x1000  然后写0x300-0x301地址  指明地址和 数据长度却无法显示?求教正确使用办法
        sys_write_vp(0x1000,(u8*)&tab,100);//向地址0x1000 写入100个数据
        tab[0] = 0 ;  //曲线数据首地址
        tab[1] = 100 ; //曲线数据长度
        sys_write_vp(0x300,(u8*)&tab,2);

回复

使用道具 举报

3

主题

24

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2020-10-30 07:46:34 | 显示全部楼层
        tab[0] =100 ;  //曲线数据首地址
        tab[1] = 100 ; //曲线数据长度
        sys_write_vp(0x300,(u8*)&tab,2);
回复

使用道具 举报

2

主题

9

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2020-10-30 11:41:22 | 显示全部楼层
本帖最后由 DWINZB 于 2020-10-30 13:13 编辑

楼上的写法才是正确的。
官方文档是这样的:0x0300-0x030F,8 个通道曲线缓冲区的状态反馈(建议用户只读)地址,每通道占2 个字,高字存储曲线数据的存储指针位置(0x0000-0x07FF),低字存储曲线缓冲区有效数据长度(0x0000-0x0800),曲线缓冲区有效数据
长度写0x0000 将导致曲线不显示。

比如,通道0,那么0x0300地址存储的数据为曲线的数据的存储指针,指向0x1000-0x17FF地址,如果存储100个数据,那么存储指针指向0x1000-0x17FF地址的第100个地址,即0x300存储数据100;数据长度100,也就是0x301地址数据是100。存储100个数据,那么数据存储是0-100地址,如果指针为110,那么则只会显示90个数据;如果指针为90,也只会显示90个数据。
回复

使用道具 举报

3

主题

24

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2020-11-2 12:39:03 | 显示全部楼层
本帖最后由 夫子 于 2020-11-2 13:49 编辑
DWINZB 发表于 2020-10-30 11:41
楼上的写法才是正确的。
官方文档是这样的:0x0300-0x030F,8 个通道曲线缓冲区的状态反馈(建议用户只读) ...

楼上回复的有点问题

  指针为110 (0300H)    长度为100(0301H),表示从0x1000+(110-100)=0x100A至0x106E为取数范围。如设置从右往左描,0X100A 为取数起点,0x106E为终点,连线99次。设定从左往右描,0x106E为起点,0x100A为终点,连线99次。起点描在当前控件最左边,终点描在最右边。指针必须大于等于长度。



回复

使用道具 举报

2

主题

9

帖子

81

积分

注册会员

Rank: 2

积分
81
 楼主| 发表于 2020-11-2 18:12:58 | 显示全部楼层
谢谢大家解惑,根据大家指点已经解决
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-11-30 12:13 , Processed in 0.020605 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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