OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3494|回复: 2

综合测试中的数码相框左右滑动

[复制链接]

6

主题

27

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2016-4-18
在线时间
26 小时
发表于 2016-6-6 14:38:28 | 显示全部楼层 |阅读模式
10金钱
基于原子哥给的综合测试用例中主屏幕的左右滑,改了下数码相框中图片显示为左右滑动,但是效果不是很尽人意,感觉好不流畅,有时要滑两三下才能切换图片,求大神看看是不是代码问题。u8 pic_tp_scan(void){
        u8 res=0;
        u16 movecnt=0;
        //u8 skips=10;
        tp_dev.scan(0);   
        if(tp_dev.sta&TP_PRES_DOWN)//有按键按下
        {
                if(spbdev.spbsta&0X8000)//已经被标记
                {
                        movecnt=spbdev.spbsta&0X3FFF;//得到滑动点数
                        if(gui_disabs(spbdev.curxpos,tp_dev.x[0])>=SPB_MOVE_WIN)//移动大于等于SPB_MOVE_WIN个点
                        {
                                if(movecnt<SPB_MOVE_MIN/SPB_MOVE_WIN)spbdev.spbsta++;//点数增加1
                        }
                }                                              
                spbdev.curxpos=tp_dev.x[0];                                //记录当前x坐标
                spbdev.curypos=tp_dev.y[0];                                //记录当前y坐标
                if((spbdev.spbsta&0X8000)==0)                        //案件第一次被按下
                {
                        if(spbdev.curxpos>4096||spbdev.curypos>4096)return 0XFF;//数据非法
                        spbdev.spbsta=0;                                         //状态初始化
                        spbdev.spbsta|=1<<15;                                //标记按下   
                        spbdev.oldxpos=tp_dev.x[0];                        //记录按下的坐标
                }else if(spbdev.spbsta&0X4000)                        //有滑动
                {
                        if(spbdev.oldxpos>tp_dev.x[0])                 //x左移,下一张图片
                        {
                                res=3;
                        }else                                                                 //x右移,上一张
                        {                            
                                res=1;                     
                        }            
                        spbdev.oldxpos=tp_dev.x[0];
                }else if((gui_disabs(spbdev.curxpos,spbdev.oldxpos)>=SPB_MOVE_MIN)&&(movecnt>=SPB_MOVE_MIN/SPB_MOVE_WIN))//检测滑动距离
                {
                        spbdev.spbsta|=1<<14;//标记滑动
                }   
        }else //按键松开
        {
                if(spbdev.spbsta&0x8000)//之前有按下
                {          
                        if(spbdev.spbsta&0X4000)//有滑动
                        {       
                                /*if(spbdev.pos>SPB_MOVE_ACT)
                                {
                                        res=3;
                                }else
                                {       
                                        res=1;
                                }*/
                                if(spbdev.oldxpos>tp_dev.x[0])                 //左滑
                                {
                                        res=3;
                                }else                                                                 //右滑
                                {                            
                                        res=1;                     
                                }                   
                                /*spb_unsel_micos(spbdev.selico);                               
                                spbdev.selico=0xff;                */
                                spbdev.spbsta=0;                                 //状态初始化
                        }
                }                               
        }
        while(res)//等待按键松开
        {
                tp_dev.scan(0);  
                if((tp_dev.sta&TP_PRES_DOWN)==0)break;
                delay_ms(1);
        }
        return res;
}



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

27

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2016-4-18
在线时间
26 小时
 楼主| 发表于 2016-6-7 14:13:40 | 显示全部楼层
有大神吗。还是没研究出来
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-6-11 20:28:23 | 显示全部楼层
你的思路是什么?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-8 00:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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