CMD_RDY=0XD0;
}else //X,Y方向与屏幕相同 { CMD_RDX=0XD0; CMD_RDY=0X90; } continue; }
POINT_COLOR=BLUE;
LCD_Clear(WHITE);//清屏 LCD_ShowString(35,110,lcddev.width,lcddev.height,16,\Adjust OK!\校正完成 delay_ms(1000); TP_Save_Adjdata(); LCD_Clear(WHITE);//清屏 return;//校正完成
} }
delay_ms(10); outtime++;
if(outtime>1000) { TP_Get_Adjdata(); break; }
} }
//触摸屏初始化 //返回值:0,没有进行校准 // 1,进行过校准 u8 TP_Init(void) { if(lcddev.id==0X5510) //电容触摸屏
{ OTT2001A_Init();
tp_dev.scan=CTP_Scan; //扫描函数指向电容触摸屏扫描 tp_dev.touchtype|=0X80; //电容屏 tp_dev.touchtype|=lcddev.dir&0X01;//横屏还是竖屏 return 0; }else { //注意,时钟使能之后,对GPIO的操作才有效 //所以上拉之前,必须使能时钟.才能实现真正的上拉输出
RCC->APB2ENR|=1<<3; //PB时钟使能
Screen
}
RCC->APB2ENR|=1<<7; //PF时钟使能
GPIOB->CRL&=0XFFFFF00F;//PB1 2 GPIOB->CRL|=0X00000330;
GPIOB->ODR|=3<<1; //PB1 2 推挽输出 GPIOF->CRH&=0XFFFFF000; GPIOF->CRH|=0X00000838;
GPIOF->ODR|=7<<8; //PF8,9,10 全部上拉
TP_Read_XY(&tp_dev.x[0],&tp_dev.y[0]);//第一次读取初始化 AT24CXX_Init();//初始化24CXX
if(TP_Get_Adjdata())return 0;//已经校准 else //未校准? {
LCD_Clear(WHITE);//清屏 TP_Adjust(); //屏幕校准 TP_Save_Adjdata(); } TP_Get_Adjdata(); }
return 1;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库touch驱动代码(3)在线全文阅读。
相关推荐: