中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

嵌入式系统

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 嵌入式系统 → 浏览主题: 请教一个飞凌TE6410 wince的ad转换问题
发表新帖 回复该主题
回帖:1个,阅读:552 [上一页] [1] [下一页]
* 帖子主题:

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

分享到
736
499493593
文章数:24
年度积分:50
历史总积分:736
注册时间:2010/7/28
发站内信
发表于:2011/4/20 16:05:23
#0楼

各位前辈好,我的板子用的是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是代表什么的呢?我找寄存器没有找到这两个值啊
847
yanhong_90
文章数:59
年度积分:50
历史总积分:847
注册时间:2010/6/2
发站内信
发表于:2011/4/20 16:40:46
#1楼
这个需要改驱动了。

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动作,就得不到采集数据。
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003