色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

電子工程網(wǎng)

標(biāo)題: 請(qǐng)教一個(gè)飛凌TE6410 wince的ad轉(zhuǎn)換問題 [打印本頁]

作者: yingna_13    時(shí)間: 2011-4-21 09:48
標(biāo)題: 請(qǐng)教一個(gè)飛凌TE6410 wince的ad轉(zhuǎn)換問題
各位前輩好,我的板子用的是TE6410的wince系統(tǒng),想做AD方面的程序,現(xiàn)在有幾個(gè)問題想請(qǐng)教:
1、原有的ad轉(zhuǎn)換是從ADCIN0口讀進(jìn)去的,我想現(xiàn)在從ADCIN1口讀進(jìn)去,不知在程序的哪里修改?
2、原有的ad轉(zhuǎn)換是測(cè)電阻值的,現(xiàn)在我從ADCIN1外接一個(gè)口出去,測(cè)外部電流值,請(qǐng)問程序的哪些函數(shù)需要改呢?
如下,是原有的ad轉(zhuǎn)換部分源程序
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.源程序中有一段常量設(shè)定的代碼,如下所示:
// 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)
請(qǐng)問那里的60和61是代表什么的呢?我找寄存器沒有找到這兩個(gè)值啊
作者: yanhong    時(shí)間: 2011-4-21 13:01
這個(gè)需要改驅(qū)動(dòng)了。

ADCIN0是接上滑動(dòng)電阻的,當(dāng)然是沒法用啦。看下原理圖就知道了。

CTL_CODE:用于創(chuàng)建一個(gè)唯一的32位系統(tǒng)I/O控制代碼,這個(gè)控制代碼包括4部分組成:DeviceType(設(shè)備類型,高16位(16-31位)),Access(訪問限制,14-15位),F(xiàn)unction(功能2-13位),Method(I/O訪問內(nèi)存使用方式)。

This macro creates a unique system I/O control code (IOCTL).

驅(qū)動(dòng)里面用60,61來產(chǎn)生這兩個(gè)宏IOCTL_ADC_START,IOCTL_ADC_STOP,驅(qū)動(dòng)和測(cè)試程序約定好了IOCTL_ADC_START,IOCTL_ADC_STOP這兩個(gè)宏代表的整數(shù),驅(qū)動(dòng)里面有判斷傳入這兩個(gè)整數(shù),然后分別執(zhí)行不同的動(dòng)作。當(dāng)傳入IOCTL_ADC_START的時(shí)候,執(zhí)行ADC START動(dòng)作,當(dāng)傳入IOCTL_ADC_STOP的時(shí)候,執(zhí)行ADC STOP動(dòng)作。因此,如果你把61換成63后,IOCTL_ADC_START變成了另一個(gè)整數(shù),當(dāng)傳入IOCTL_ADC_START,驅(qū)動(dòng)程序不會(huì)執(zhí)行ADC START動(dòng)作,就得不到采集數(shù)據(jù)。
作者: gnmxd    時(shí)間: 2011-4-30 07:39
看看




歡迎光臨 電子工程網(wǎng) (http://m.54549.cn/) Powered by Discuz! X3.4