各位前辈好,我的板子用的是TE6410的wince系统,想做AD方面的程序,现在有几个问题想请教:
1、原有的ad转换是从ADCIN0口读进去的,我想现在从ADCIN1口读进去,不知在程序的哪里修改?
2、原有的ad转换是测电阻值的,现在我从ADCIN1外接一个口出去,测外部电流值,请问程序的哪些函数需要改呢?
如下,是原有的ad转换部分源程序
DWORD WINAPI AdcThread (PVOID hdcMain)
{
DWORD dwBytesRead;
DWORD convalue;
char tempvalue[3];
CString str;
CADC_AppDlg *pdlg =(CADC_AppDlg*)(AfxGetApp()->m_pMainWnd);
hAdcEvent = CreateEvent(NULL, TRUE, FALSE, _T("TE6410_ADC_read"));
while(1)
{
WaitForSingleObject(hAdcEvent, INFINITE);
ReadFile(hAdc, &convalue, sizeof(DWORD), &dwBytesRead, NULL);
str.Format(_T("%d"),convalue);
pdlg->SetDlgItemTextW(IDC_EDIT1,str);
//printf("convalue = %d !!!!\n", convalue);
Sleep(2);
}
return 0;
}
3.源程序中有一段常量设定的代码,如下所示:
// constants define
#define IOCTL_ADC_START CTL_CODE(FILE_DEVICE_UNKNOWN, 60, METHOD_BUFFERED, FILE_ANY_ACCESS) //
#define IOCTL_ADC_STOP CTL_CODE(FILE_DEVICE_UNKNOWN, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
请问那里的60和61是代表什么的呢?我找寄存器没有找到这两个值啊
11-04-20 16:05