读数据的速度不如数据来的速度快,出现数据丢失的情况
编号:QA004478
建立日期: 2001年11月11日 最后修改日期:2001年11月11日
所属类别:
Arron:
操作系统:NT
编程工具:DDK
问题:由于我们开发的硬件上使用双口RAM,硬件将从外面接受PCM流数据,数据流的速率为1M bps到640K bps,由于数据的速率比较高,数据中断来的比较频繁,我的驱动程序中的控制函数在得到读命令后,将数据拷贝到其他内存中,可是有可能出现我读数据的速度不如数据来的速度快,出现数据丢失的情况,我在驱动程序的编写中将如何避免该情况的出现。
回答:
首先,在中断中收到的数据应该保存在一个驱动程序开辟的队列中,队列的长度视速率和应用程序读数据的间隔而定。当相应应用程序的读请求时从队列中取就可以了。要求应用程序虽然不能做到以很快的频率来读,但要提供较大的缓冲区以便每次读取的数据量多些。如有问题和Mail:yqhan@sh163.net。
此问题由John Han回答。
| |
|
|
| |
|
|