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

迪文科技论坛

 找回密码
 立即注册
搜索
查看: 195|回复: 1

【提问】T5L后台程序不能控制前台界面

[复制链接]

3

主题

2

回帖

96

积分

注册会员

Rank: 2

积分
96
发表于 2022-2-15 22:31:19 | 显示全部楼层 |阅读模式
你好,我使用的触摸屏是DMG10600C070_03WTR,后台DWIN_os代码中,在循环之前包括更新进度条和切换页码,程序可以正常下载调试,但是前台没有更新效果,请帮我看一下,代码如下。
char Switch_Page[4] = {0x5a,0x01,0x00,0x00};         //定义切页命令
char progress_Bar[4] = {0x00, 0x01, 0xff, 0xff};//进度条10%        
char progress_Dat[4] = {0x00, 0x00, 0xff, 0xff};//进度条百分比
int main()
{
    int i ;
    char Variable_Addr[8]={0x00, 0x00, 0x00, 0x00};
    char Variable_Addr2[8]={0x00, 0x00, 0x00, 0x00};
    char Vp_Clear[10]={0x00, 0x00, 0x00, 0x00};//清空密码框
    char RW_Flash_Flag[2]={0};  
    char RW_Flash_Value[4]={0};
    char Read_Flash[8]={0x5a,0x00,0x12,0x00,0x10,0x08,0x00,0x02};    //数据库读操作
    char Write_Flash[8]={0xa5,0x00,0x12,0x00,0x10,0x02,0x00,0x02};   //数据库写操作
    char Supervisor_Password[4]={0x00,0x02,0x2c,0xc8};//142536=00 02 2c c8  赋值超级密码


        write_dgus_vp(0x1002,Vp_Clear,2);                        //请输入框
        write_dgus_vp(0x1004,Vp_Clear,2);                        //请输入框
        write_dgus_vp(0x1006,Vp_Clear,2);                        //请输入框
        write_dgus_vp(0x1008,Vp_Clear,2);                        //请输入框
        write_dgus_vp(0x1100,Vp_Clear,2);                        //清按键
        write_dgus_vp(0x1102,Vp_Clear,2);                        //清按键            

    for(i=0; i<10; i++)
    {
                progress_Bar[1] = i+1 ;
                write_dgus_vp(0x1030,progress_Bar,2);        //更新进度条
                progress_Dat[1] = (i+1)*10 ;
                write_dgus_vp(0x1032,progress_Dat,2);        //更新百分比
                Delayms(500);                //延时0.5s
    }
    Switch_Page[3]=1;  
        write_dgus_vp(0x0084,Switch_Page,2);                //切换到第1页
        
        while(1)
        {
                Delayms(100);
                //*******************密码登录***********************//
                read_dgus_vp(0x1100,Variable_Addr,2);        //判断确认输入键是否被按下
                if((Variable_Addr[0]==0)&&(Variable_Addr[1]==0x5a))        //如果被按下
                {
                        read_dgus_vp(0x1008,Variable_Addr,2);        //读输入密码
                        write_dgus_vp(0x0008,Read_Flash,4);                //读保存密码
            read_dgus_vp(0x1200,RW_Flash_Value,2);
                        do
            {
                                read_dgus_vp(0x0008,RW_Flash_Flag,1);
            }
            while(RW_Flash_Flag[0]==0x5A);
                        if(tests(Variable_Addr,Vp_Clear,4)==0)
                        {
                        }
                        else if(tests(Variable_Addr,Supervisor_Password,4)==0)        //判断是否为超级密码
                        {
                           Switch_Page[3]=3;
                           write_dgus_vp(0x0084,Switch_Page,2);        //切到参数界面
                        }
                        else if(tests(Variable_Addr,RW_Flash_Value,4)==0)                //判断是否为保存密码
                        {
                           Switch_Page[3]=3;
                           write_dgus_vp(0x0084,Switch_Page,2);        //切到参数界面
                        }
                        else
                        {
                           Switch_Page[3]=8;
                           write_dgus_vp(0x0084,Switch_Page,2);        //切到错误界面               
                        }
                        write_dgus_vp(0x1008,Vp_Clear,2);                //清输入框
                        write_dgus_vp(0x1100,Vp_Clear,2);                //清按键
                }
                //*******************密码改写***********************//
                read_dgus_vp(0x1102,Variable_Addr,2);        //判断确认改写键是否被按下
                if((Variable_Addr[0]==0)&&(Variable_Addr[1]==0x5a))        //如果被按下
                {
                        read_dgus_vp(0x1002,Variable_Addr,2);        //读原始密码
                        if(tests(Variable_Addr,Vp_Clear,4)==0)
                        {
                        }
                        else if(tests(Variable_Addr,Supervisor_Password,4)==0)        //判断是否为超级密码
                        {
                           read_dgus_vp(0x1004,Variable_Addr,2);        //读输入密码
                           read_dgus_vp(0x1006,Variable_Addr2,2);        //读再次输入密码
                           if(tests(Variable_Addr,Variable_Addr2,4)==0)                //判断两次密码一致
                           {
                                        //---------保存密码
                                        write_dgus_vp(0x0008,Read_Flash,4);        //读5a a5 0b 82 0008 5a00 1008 1008 0002 读数据库参考应用文档系统变量接口表格。
                                        write_dgus_vp(0x1200,Variable_Addr,2);
                                        do
                                        {
                                                read_dgus_vp(0x0008,RW_Flash_Flag,1);
                                        }
                                        while(RW_Flash_Flag[0]==0x5A);
                                        Switch_Page[3]=10;
                                        write_dgus_vp(0x0084,Switch_Page,2);        //切到设置成功界面
                           }
                           
                        }
                        else
                        {
                           Switch_Page[3]=8;
                           write_dgus_vp(0x0084,Switch_Page,2);        //切到错误界面               
                        }
                        write_dgus_vp(0x1002,Vp_Clear,2);                //清输入框
                        write_dgus_vp(0x1004,Vp_Clear,2);                //清输入框
                        write_dgus_vp(0x1006,Vp_Clear,2);                //清输入框
                        write_dgus_vp(0x1102,Vp_Clear,2);                //清按键
                }
        }
        return 0 ;
}
void Time0_IRQHandler(void) //定时器0 函数体
{
}
void Time1_IRQHandler(void) //定时器1 函数体
{
}
void Time2_IRQHandler(void) //定时器2 函数体
{
}

回复

使用道具 举报

发表于 2022-2-16 10:35:58 | 显示全部楼层
这个是C编译器版本的,请先检查os内核和库文件进行,另外c编译器的功能不是很强大,这个屏可以尝试用keil C51去编程。可以借鉴下这个帖子:http://inforum.dwin.com.cn:20080 ... %AD&_dsign=b43c3856
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 22:16 , Processed in 0.069998 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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