阅读:1514回复:3
关于定时器回调例程中的问题
我要在驱动中定时发字符串给串口,现在定时器工作正常,定时器回调例程如下:VOID BaudDevice::DirectIO(PVOID arg1, PVOID arg2)
{ t << \"进入定时发送例程\\n\"; PCHAR SENDSTR1 = \"abcdefghij\"; m_IoPortRange.outb(ADDRESS, (PUCHAR)SENDSTR1, 10); } 在NTSTATUS BaudDevice::Write(KIrp I) 中直接调用 DirectIO(NULL, NULL);能正常发送字符串到串口,可是为什么在定时器回调时就发送不了呢?昨天晚上开始还能每秒发送最后一个字符,现在干脆一个也不发了,不知为什么?请各位大侠为我诊断诊断!加分! |
|
|
沙发#
发布于:2002-07-26 18:04
问题解决了,现在我一个字符一个字符地发送,每发一个后检查发送寄存器的状态,直到可以发送后,再发第二个字符。不过上面问题中的区别我还是没搞清楚。
|
|
|
板凳#
发布于:2002-07-26 19:17
是windriver的吗?怎么字符串不是用的UNICODE?
不会windriver,勿笑。 |
|
地板#
发布于:2002-07-31 17:43
用的是Driver Studio
|
|
|