VS2005 MINI6410 某网友AD驱动

    技术2022-05-13  30

    今天无意在论坛上发现了一个朋友自己写的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 = X/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就可以了。 有兴趣的,可以试试看。


    最新回复(0)