迪文科技论坛

 找回密码
 立即注册
搜索
楼主: hzpyl

【提问】用迪文DMG10600T070_A5WTC做了一个完整的产品,说说...

[复制链接]

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-11-30 16:08:09 | 显示全部楼层
本帖最后由 hzpyl 于 2021-11-30 16:20 编辑

我把程序精简了,几分钟就能出现问题


按“ 自动”,运行,


错误时,停止运行,有红色字


程序main.c 搜索  Icon_K11_0V_10V

591行  这个地方写,有可能写不进去
                        temp16A = AutoWalk_0V_10V_Table[AutoWalk];
                        write_dgusii_vp(Icon_K11_0V_10V, (u8*)&temp16A, 1);                // 11档开关:=0~10V
运行时,其他地方只有读的。

本帖子中包含更多资源

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

x
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-1 10:13:23 | 显示全部楼层
请迪文,帮我测试一下。
什么地方冲突了!
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-6 09:08:42 | 显示全部楼层
我用检测 LED_NOW ,来得到AD转换的时间, 程序如下,
但发现在不同的页面,时间不同, 16ms,32ms,48ms,
请问,是什么原因引起的?


        read_dgusii_vp(LED_NOW, (u8*)&temp16A, 1);        // D1=0x5A表示背光亮度值、AD值已更新; D0=当前背光亮度值0~100。
        if((temp16A & 0xFF00) != 0x5A00)
        {
                ADTimeTest ++;                // AD时间测试
        }
        else
        {                                                // 测试得到32ms
                LED_NOW_B = temp16A;
                Clear_write_dgusii_vp_Icon(LED_NOW);        // Icon 写清零
                write_dgusii_vp(Icon_ADTimeTest, (u8*)&ADTimeTest, 1);
                ADTimeTest =0;                                // AD时间测试

                Deal_NewCurrent();                        // 处理AD电流
        }
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-6 14:47:32 | 显示全部楼层
本帖最后由 hzpyl 于 2021-12-6 14:51 编辑

AD转换时间,是不是与内核的显示内容多少有关?
下图, 显示内容少,16ms


下图,显示内容多, 显示的曲线 短, 48ms


下图与上图是同一个页面, 只是曲线显示的长, 64ms


本帖子中包含更多资源

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

x
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-7 09:17:55 | 显示全部楼层
41楼,43,44楼, 的问题,
涉及到C程序与迪文内核显示程序之间的配合问题,
希望迪文重视,否则用户根本不能使用。
回复

使用道具 举报

0

主题

932

回帖

6243

积分

论坛元老

Rank: 8Rank: 8

积分
6243
发表于 2021-12-8 11:29:45 | 显示全部楼层
hzpyl 发表于 2021-12-7 09:17
41楼,43,44楼, 的问题,
涉及到C程序与迪文内核显示程序之间的配合问题,
希望迪文重视,否则用户根本不 ...

我们这边先看看,到时候给您回复。
回复

使用道具 举报

0

主题

7

回帖

961

积分

高级会员

Rank: 4

积分
961
发表于 2021-12-8 16:43:47 | 显示全部楼层
hzpyl 发表于 2021-12-6 14:47
AD转换时间,是不是与内核的显示内容多少有关?
下图, 显示内容少,16ms

AD数据是每个DGUS周期更新一次,DGUS周期是液晶屏刷新周期的整数倍。

如果UI内容少,那么DGUS周期就是1个刷新周期(60Hz就是16.67mS),反之就是2倍、3倍时间

如果需要AD是匀速的,只能是指定一个缓冲区,每次更新时把整个DGUS周期的数据全部更新。比如AD速度是1KSPS,那么1个DGUS周期更新16个数据,如果是两个DGUS周期就更新32个数据。
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-9 08:40:48 | 显示全部楼层
本帖最后由 hzpyl 于 2021-12-9 08:44 编辑

【资料分享】连续630帧读写无错误 UART2_82/83读写 C51程序代码
http://inforum.dwin.com.cn:20080/forum.p ... d=1171&fromuid=3950    (出处: 迪文科技论坛)

参考以上网址的程序, write_dgusii_vp   应该可以了。
write_dgusii_vp 程序与以前的DEMO程序 改变很多
回复

使用道具 举报

15

主题

155

回帖

3513

积分

论坛元老

Rank: 8Rank: 8

积分
3513
 楼主| 发表于 2021-12-9 14:51:09 | 显示全部楼层
        read_dgusii_vp(GUI_Status, (u8*)&temp16A, 1);        // GUI操作状态反馈:0x0000表示空闲,0x0001表示正在处理 13、14 变量文件
        if(temp16A != 0)
        {
                GUITimeTest ++;                // AD时间测试
                GUITimeTest_AlreadyClr =0;
        }
        else
        {                                                // 测试得到  ms
                if(GUITimeTest_AlreadyClr ==0)
                {
                        write_dgusii_vp(Icon_GUITimeTest, (u8*)&GUITimeTest, 1);
                        GUITimeTest =0;                                // AD时间测试
                        GUITimeTest_AlreadyClr =1;
                }
        }

用以上程序,显示UI执行时间,
没有曲线显示时, 34ms
2条曲线满显示时,45ms
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-5 02:46 , Processed in 0.079177 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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