0

我正在从事一个涉及快速数据采集(科学实验)的项目。我将构建一个基于 MCU 的模块,它将每 10 微秒(以最快的速度)提供 2 到 4 个字节的数据。这些数据必须实时传输到 PC 以进行进一步处理。为了降低设备成本,我选择使用 PC 的增强型并行端口 (EPP) 进行连接。它的数据速率(500 KB/s 到 2 MB/s)应该足够了。

控制程序将用 C 语言编写并在 DOS 下运行(我使用 DJGPP),EPP 端口将由直接 I/O 端口读/写处理,以实现最高效率。

不幸的是,我在网上找到的大多数关于 EPP 端口编程的文档都写得很糟糕而且令人困惑。我的第一个请求实际上是指向一个综合文档的指针/链接,该文档将清楚、合乎逻辑地解释 EPP 端口的操作。

无论如何,我设法找到了我需要的大部分东西,但有一件事让我感到困惑。文档中提到了 EPP 端口中的“看门狗定时器”,如果在大约 10 微秒内没有来自连接设备的响应,它将设置状态寄存器的第 0 位。其中一个文档甚至建议在此状态位处于活动状态时对其进行监视和重置。AFAIK 这是胡说八道:状态端口是只读的。那么这个看门狗定时器是如何工作的呢?我假设逻辑方法是 LPT 控制器电路在每次启动新的读取或写入操作时重置该位。这个假设正确吗?如果没有,我应该如何处理这个信号?

4

0 回答 0