VS2005 MINI6410 某网友 AD驱动

今天无意在论坛上发现了一个朋友自己写的AD驱动,大大鼓舞了我,给了我信心将这个做出来,虽然没有导师的督促,也没有师兄的指导,但是我相信,只要努力了,就一定能把这个项目做好!

 

下面是转帖内容:(感谢那位sctp的朋友

 6410开发板上的ADC转换实现

通过6410开发板上的 ADC转换AIN0的输入,通过可调电阻W1来改变输入电压。
本程序通过借用LEDDriver和LED Test程序来简单实现,也可自己写驱动和应用来实现。
在LED Driver的LED_IOControl中添加如下代码:
BOOL LED_IOControl(DWORD hOpenContext,
                   DWORD dwCode,
                   PBYTE pBufIn,
                   DWORD dwLenIn,
                   PBYTE pBufOut,
                   DWORD dwLenOut,
                   PDWORD pdwActualOut)
{
UINT32 con;
UINT32 tsc;
UINT32 data;

/× 原来代码保留不动,添加到原代码后面×/

con = g_pADCReg->ADCCON;
g_pADCReg->ADCCON = con & 0xFFFFFFFB;
g_pADCReg->ADCCON |= 0x02; /* set start by read*/
tsc = g_pADCReg->ADCTSC;
g_pADCReg->ADCTSC = 0x58;
data = g_pADCReg->ADCDAT0; /*start AD convert*/

while(!(g_pADCReg->ADCCON & 0x8000))
    RETAILMSG(1,(TEXT("AD Convertion in process/r/n")));
    
RETAILMSG(1,(TEXT("ADCDAT0 = %08X/r/n"),g_pADCReg->ADCDAT0 &0x0FFF));
/×转换结束,恢复 ADC设置×/    
g_pADCReg->ADCCON = con;
g_pADCReg->ADCTSC = tsc;
return TRUE;
}

将编译好的驱动放在Windows下,重启后打开LED Test,按程序中任何键,都可以在串口中看到转换的结果,通过旋转W1,可以看到结构在0~0xFFF之间变化。
如果想在应用程序中看到转换的接口,通过修改LED_IOControl传入的返回值pBufOut和pdwActualOut就可以了。

有兴趣的,可以试试看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值