主题:ETR232I扩展的AD数据采集电路

  共有23270人关注过本帖    
ETR232I
1楼


ETR232I扩展的AD数据采集电路  发帖心情 Post By:2006-2-24 12:34:00   [只看该作者]

我选用AD1674,先采用延时的方法已经正确的采集了数据。
现在我想用中断方式,把AD1674的STS反向后介入IRQ5。
请问中断服务程序和主程序怎么写?

  单帖管理 | 引用 | 回复 回到顶部
yl
2楼


  发帖心情 Post By:2006-2-27 9:37:00   [只看该作者]

对不起,因为我们负责这方面技术的工程师暂时不在公司,他明天回来以后将立即回答您的问题

  单帖管理 | 引用 | 回复 回到顶部
ETR232I
3楼


  发帖心情 Post By:2006-2-27 21:40:00   [只看该作者]

我是参考ISRDEMO.cpp和isr.cpp写的程序
我在建立中断服务程序时,运行有问题,显示:
Int6@2200:01B0
Int6@2200:01C8
Int6@22
Internal Stack Overflow
System Halted!
这说明什么问题啊?
还有就是用硬件中断的方法是不是必须要有一个XCLK接入AD控制数据采集,Etr232i的扩展接口中没有分频的脉冲信号输出啊?

  单帖管理 | 引用 | 回复 回到顶部
zhl
4楼


  发帖心情 Post By:2006-2-28 13:48:00   [只看该作者]

1、请检查程序的编译模式,ETR232I上应选择80186指令。在“使用必读”文档中有介绍。
2、没有脉冲信号输出的,如果频率要求不是很高的话,可以通过对一个IO端口操作来模拟。

  单帖管理 | 引用 | 回复 回到顶部
ETR232I
5楼


  发帖心情 Post By:2006-3-2 13:56:00   [只看该作者]

在硬件中断程序中不能有DOS调用,而我想用中断的方法,在中断服务程序中读取扩展电路AD的数据,用到了inportb()指令。主程序对数据进行处理。这么做不行吧?

而之前用延时的方法读取数据,AD1674的采样间隔是10微秒,在用outport(0x303,0)选通DA进行转换后,需要延时,用NB_Delay(),其最小单位是1ms。怎么办?

  单帖管理 | 引用 | 回复 回到顶部
zhl
6楼


  发帖心情 Post By:2006-3-2 16:26:00   [只看该作者]

1、这样做肯定是可以的,inportb()是直接读取的硬件端口数据,可以直接放到中断程序中。
2、 在ETR232I.CPP中增加一个us延时的函数,请更新。

  单帖管理 | 引用 | 回复 回到顶部
ETR232I
7楼


  发帖心情 Post By:2006-3-4 18:48:00   [只看该作者]

我用ETR232I扩展AD采集三种传感器数据,用单步执行结果正确(依次是振动、温度、声音),但全速运行时结果却错位(变成声音、振动、温度),而且我在每次采集传感器之间加断点分别用F8和F9,情况和上面也是一样的,这是什么原因啊?

  单帖管理 | 引用 | 回复 回到顶部
x10
8楼


  发帖心情 Post By:2006-3-4 19:45:00   [只看该作者]

仔细查查流程,离成功只差半步了 :-)

  单帖管理 | 引用 | 回复 回到顶部
rite2009
9楼


  发帖心情 Post By:2009-4-13 17:09:00   [只看该作者]

我的怎么脉冲宽度是0.4uS?而且抖动很大。我用的9260.
我输出方波,用示波器查看。
代码如下:



#include "stdafx.h"
#include "em9260_isa_dio.h"

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR    lpCmdLine,
int       nCmdShow)
{
  // TODO: Place code here.

PIO_OutEnable(EM9260_P5, 0xff);
for(;;)
{
PIO_OutUchar(EM9260_P5, 0xff); PIO_OutUchar(EM9260_P5, 0x00);
         }
return 0;
}

  单帖管理 | 引用 | 回复 回到顶部
x10
10楼


  发帖心情 Post By:2009-4-13 17:47:00   [只看该作者]

wince是实时多任务操作系统,很多线程在并行运行,用上述代码不能保证脉冲宽度的一致。API函数对每一位GPIO均要扫描处理,所以需要一定的时间。CE每1ms就可能有一次任务重调度,所以用示波器不能很好同步发出的脉冲。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

ETR232I扩展的AD数据采集电路

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: