为什么触摸屏的AD采样总是在一定的值范围内呢?
[复制链接]
现在正在玩800x480的TFT液晶,为什么触摸屏的AD采样总是在一定范围内呢?只有触摸到那一定的范围就有反应,不在那范围内疚没反应。
有反应是不是就不是SPI的错。
uint Write_Read_CharTo7843(uchar ControlByte) //SPI写数据 { uchar i; uint Coordinate; GPIOPinWrite(A_PORT,0x02,0x00); //CS=0; GPIOPinWrite(A_PORT,0x01,0x00); //CLK=0 for(i=8;i>0;i--) { GPIOPinWrite(A_PORT,0x04,(((ControlByte>>(i-1))&0x01)<<2)); GPIOPinWrite(A_PORT,0x01,0x00); //CLK=0 GPIOPinWrite(A_PORT,0x01,0x01); //CLK=1 }
delaynms(10); for(i=12;i>0;i--) { GPIOPinWrite(A_PORT,0x01,0x00); //DCLK=0; GPIOPinWrite(A_PORT,0x01,0x01); //DCLK=1; //上降沿有效 Coordinate<<=1; if(GPIOPinRead(A_PORT,0x10)==0x10) { Coordinate|=0x0001; } } GPIOPinWrite(A_PORT,0x02,0x02); //CS=1; return(Coordinate); }
void AD7843(void) { TP_X=Write_Read_CharTo7843(0x90); // delaynms(3); TP_Y=Write_Read_CharTo7843(0xd0); // delaynms(3); }
|