以STM32F407探索者7寸TFTLCD硬件为基础(显示部分IO口相同),用原子哥的TFTLCD显示实验程序,7寸屏显示不正常。

2019-07-20 16:48发布

以STM32F407探索者7寸TFTLCD硬件为基础(显示部分IO口与探索者相同)设计了一块新的实验板作测试,用原子哥的TFTLCD显示实验程序测试,7寸屏显示不正常(如图)。用触摸屏程序改装Main函数后,显示又正常。不知道为什么,不知道诸位有没有遇到这种情况呢?实际测试时,可以用触摸屏程序为基本显示字符,但在EMWin无系统板加入后又显示之前图片这样的情况。查找两个程序区别后,是下面两个函数起了作用。主要是触摸屏函数tp_dev.scan(0);起了作用,但用在EMwin里,不能显示EMwin DEMO的内容。各位大神不知道有没有什么建议呀?纠结了好一段时间了。
void ctp_test(void)
{
        u8 t=0;
        u8 i=0;                      
        u16 lastpos[5][2];                //最后一次的数据
        while(1)
        {
                tp_dev.scan(0);
                for(t=0;t<OTT_MAX_TOUCH;t++)
                {
                        if((tp_dev.sta)&(1<<t))
                        {
                                if(tp_dev.x[t]<lcddev.width&&tp_dev.y[t]<lcddev.height)
                                {
                                        if(lastpos[t][0]==0XFFFF)
                                        {
                                                lastpos[t][0] = tp_dev.x[t];
                                                lastpos[t][1] = tp_dev.y[t];
                                        }
                                        lcd_draw_bline(lastpos[t][0],lastpos[t][1],tp_dev.x[t],tp_dev.y[t],2,POINT_COLOR_TBL[t]);//画线
                                        lastpos[t][0]=tp_dev.x[t];
                                        lastpos[t][1]=tp_dev.y[t];
                                        if(tp_dev.x[t]>(lcddev.width-24)&&tp_dev.y[t]<20)
                                        {
                                                Load_Drow_Dialog();//清除
                                        }
                                }
                        }else lastpos[t][0]=0XFFFF;
                }
               
                delay_ms(5);i++;
                if(i%20==0)LED0=!LED0;
        }       
}

0条回答

一周热门 更多>