主题 : 6410开发板上的ADC转换实现 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 25207
精华: 0
发帖: 18
金钱: 90 两
威望: 18 点
贡献值: 0 点
综合积分: 36 分
注册时间: 2010-07-21
最后登录: 2017-09-13
楼主  发表于: 2010-09-20 09:47

 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就可以了。

有兴趣的,可以试试看。
级别: 新手上路
UID: 32222
精华: 0
发帖: 19
金钱: 95 两
威望: 19 点
贡献值: 0 点
综合积分: 38 分
注册时间: 2010-11-12
最后登录: 2011-12-02
1楼  发表于: 2011-03-11 20:46
顶一下先驱者,我现在也是做到这块,看到你做的,更加有信心了,希望以后能一起交流
级别: 新手上路
UID: 40545
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2011-03-19
最后登录: 2011-03-26
2楼  发表于: 2011-03-25 08:32

 回 1楼(cazicaquw) 的帖子

能加我交流下吗
级别: 新手上路
UID: 40545
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2011-03-19
最后登录: 2011-03-26
3楼  发表于: 2011-03-25 08:34
1171589554我的qq
级别: 新手上路
UID: 46025
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2011-05-09
最后登录: 2011-07-13
4楼  发表于: 2011-05-09 23:18
我也准备做这块,请问输入电压范围是多少?谢!
级别: 新手上路
UID: 51934
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2011-07-09
最后登录: 2011-07-15
5楼  发表于: 2011-07-15 15:00
正准备这么做,学习了
级别: 新手上路
UID: 76538
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2012-08-25
最后登录: 2013-05-07
6楼  发表于: 2013-04-28 13:55
非常感谢楼主的分享!
级别: 新手上路
UID: 90368
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
贡献值: 0 点
综合积分: 44 分
注册时间: 2013-04-16
最后登录: 2017-09-13
7楼  发表于: 2013-06-08 15:33
有应用代码吗