引用 5 楼 wangxin_801115 的回复:
我的此函数为:
USHORT getTouchCoordinate(unsigned axis)
{
//WX_change locked
HANDLE hMutex;
DWORD dwWaitMutex;
//DWORD g_MutexWaitTime=3000;
RETAILMSG(1, (TEXT("TOUCH getTouchCoordinate is Running!!\r\n")));
? ? hMutex = CreateMutex(NULL,FALSE,TEXT("AClinkOfMutexObject"));
if(NULL==hMutex)
{
return FALSE;
}
? ? dwWaitMutex=WaitForSingleObject(hMutex,INFINITE);
USHORT sample? = MAX_ADC_VAL;
USHORT adcData;
? ? ReadAC97 (0x7A, &adcData);
? ? unsigned int acsimpletime=1;
if(adcData & WM97_DATA_PENDOWN)
{
ReadAC97 (0x76, &adcData);
adcData |=? WM97_TOUCHCTRL1_POLL;
adcData &= ~WM97_TOUCHCTRL1_DEL_MASK;
adcData |=? WM97_TOUCHCTRL1_DEL_6;
adcData &= ~WM97_TOUCHCTRL1_ADR_MASK;
adcData |=? (axis == WM97_ADC_X ? WM97_TOUCHCTRL1_ADR_X : WM97_TOUCHCTRL1_ADR_Y);
WriteAC97(0x76,? adcData);
do
{
ReadAC97 (0x76, &adcData);
//WX_change
//Sleep(1);
? ? ? ? ? ? NdisStallExecution(1);
? ? ? } while(adcData & WM97_DATA_PENDOWN);
ReadAC97 (0x7A, &adcData);
sample = adcData & WM97_DATA_VAL;
}
? ? ReleaseMutex(hMutex);
return sample;
}
请问pendown状态是在哪里定义的?
pendown状态不是哪定义的,是你点击触摸屏后,9712自己把寄存器置上的,前提就是你把触摸的相关寄存器配置正确 |