搜索
bottom↓
回复: 2

请教一个飞凌TE6410 wince的ad转换问题

[复制链接]

出0入0汤圆

发表于 2011-4-22 08:26:27 | 显示全部楼层 |阅读模式
各位前辈好,我的板子用的是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是代表什么的呢?我找寄存器没有找到这两个值啊...

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-4-22 09:19:39 | 显示全部楼层
这个需要改驱动了。

ADCIN0是接上滑动电阻的,当然是没法用啦。看下原理图就知道了。

CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Access(访问限制,14-15位),Function(功能2-13位),Method(I/O访问内存使用方式)。

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

驱动里面用60,61来产生这两个宏IOCTL_ADC_START,IOCTL_ADC_STOP,驱动和测试程序约定好了IOCTL_ADC_START,IOCTL_ADC_STOP这两个宏代表的整数,驱动里面有判断传入这两个整数,然后分别执行不同的动作。当传入IOCTL_ADC_START的时候,执行ADC START动作,当传入IOCTL_ADC_STOP的时候,执行ADC STOP动作。因此,如果你把61换成63后,IOCTL_ADC_START变成了另一个整数,当传入IOCTL_ADC_START,驱动程序不会执行ADC START动作,就得不到采集数据。

出0入0汤圆

发表于 2011-4-27 16:42:18 | 显示全部楼层
不清楚,帮顶了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 23:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表