中级会员
 
- 积分
- 209
- 金钱
- 209
- 注册时间
- 2015-11-12
- 在线时间
- 46 小时
|

楼主 |
发表于 2016-5-11 19:59:09
|
显示全部楼层
我改成了这样可以了
//////////////////////////////////////////////////////////////////////////
#define SAVE_ADDR_BASE 16*1024*1024-100
void TP_Save_Adjdata(void)
{
s32 temp;
u8 pBuffer[10];
int i;
//±£′æD£Õy½á1û!
temp=tp_dev.xfac*100000000;//±£′æxD£ÕyòòËØ
for(i=3;i>=0;i--)
{
pBuffer=temp&0x000000ff;
temp>>=8;
}
W25QXX_Write(pBuffer,SAVE_ADDR_BASE,4);
temp=tp_dev.yfac*100000000;//±£′æyD£ÕyòòËØ
for(i=3;i>=0;i--)
{
pBuffer=temp&0x000000ff;
temp>>=8;
}
W25QXX_Write(pBuffer,SAVE_ADDR_BASE+4,4);
//±£′æxÆ«òÆá¿
for(i=1;i>=0;i--)
{
pBuffer=tp_dev.xoff&0x00ff;
tp_dev.xoff>>=8;
}
W25QXX_Write(pBuffer,SAVE_ADDR_BASE+8,2);
//±£′æyÆ«òÆá¿
for(i=1;i>=0;i--)
{
pBuffer=tp_dev.yoff&0x00ff;
tp_dev.yoff>>=8;
}
W25QXX_Write(pBuffer,SAVE_ADDR_BASE+10,2);
pBuffer[0]=tp_dev.touchtype;
W25QXX_Write(pBuffer,SAVE_ADDR_BASE+12,1);
pBuffer[0]=0X0A;//±ê¼ÇD£×¼1yáË
W25QXX_Write(pBuffer,SAVE_ADDR_BASE+13,1);
}
//μÃμ½±£′æÔúEEPROMàïÃæμÄD£×¼Öμ
//·μ»ØÖμ£o1£¬3é1|»ñè¡êy¾Y
// 0£¬»ñè¡ê§°ü£¬òaÖØDÂD£×¼
u8 TP_Get_Adjdata(void)
{
s32 tempfac;
u8 pBuffer[10];
W25QXX_Read(pBuffer,SAVE_ADDR_BASE+13,1);
tempfac=pBuffer[0];
if(pBuffer[0]==0X0A)//′¥ÃtÆáòѾ-D£×¼1yáË
{
W25QXX_Read(pBuffer,SAVE_ADDR_BASE,4);
tempfac=(pBuffer[0]<<24)+(pBuffer[1]<<16)+(pBuffer[2]<<8)+pBuffer[3];
tp_dev.xfac=(float)tempfac/100000000;//μÃμ½xD£×¼2Îêy
W25QXX_Read(pBuffer,SAVE_ADDR_BASE+4,4);
tempfac=(pBuffer[0]<<24)+(pBuffer[1]<<16)+(pBuffer[2]<<8)+pBuffer[3];
tp_dev.yfac=(float)tempfac/100000000;//μÃμ½yD£×¼2Îêy
//μÃμ½xÆ«òÆá¿
W25QXX_Read(pBuffer,SAVE_ADDR_BASE+8,2);
tp_dev.xoff=(pBuffer[0]<<8)+pBuffer[1];
//μÃμ½yÆ«òÆá¿
W25QXX_Read(pBuffer,SAVE_ADDR_BASE+10,2);
tp_dev.xoff=(pBuffer[0]<<8)+pBuffer[1];
W25QXX_Read(pBuffer,SAVE_ADDR_BASE+12,1);
tp_dev.touchtype=pBuffer[0];
if(tp_dev.touchtype)//X,Y·½ÏòóëÆáÄ»Ïà·′
{
CMD_RDX=0X90;
CMD_RDY=0XD0;
}else //X,Y·½ÏòóëÆáÄ»Ïàí¬
{
CMD_RDX=0XD0;
CMD_RDY=0X90;
}
return 1;
}
return 0;
}
不过虽然可以保存校准值了,但是后面的画图测试无法用了,点屏幕没反应。不知道问题出在哪里?
按照你说的试了下,好像不行。 |
|