(挣分机会)用线程打开串口时温酒吧的打印系统立马就瘫了?

wyj 2000-01-03 10:26:00
我曾做过一个自动控制系统,需要用线程读写串口,程序最终完成了且功能一切正常。但后来发现,只要我的程序在运行中,WINDOWS98的一切打印操作就会立即导致蓝屏出现,所幸我自己的程序中打印机只要求行式字符输出,于是我就将打印口当做串口来操作以打印一些简单的数据。
在程序中我使用WIN32的API函数OpenFile和ReadFile,WriteFile在线程中操作串口,用的是OVERLAPPED方式,为解决此问题,我使用了微软MSDN在线文档中上述函数的例子程序,它是用C写的,但结果相同。
不知是哪里出的问题。希望感兴趣的朋友一起来探讨,十分感谢。
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ad 2000-02-21
  • 打赏
  • 举报
回复
你查看一下打印口的资源,或许有冲突!
将你的程序拷到另一台机子上运行,看是否有此现象!
kxy 2000-01-04
  • 打赏
  • 举报
回复
你可以在上网时,试试notepad的打印,此时肯定对串口有操作.
如果没问题,在讨论.
wyj 2000-01-04
  • 打赏
  • 举报
回复
本人回复KXY先生:十分感谢您的帮助。但令我十分不解的是我运行MSDN“Serial Communication in Win32”专题文章中的例子时也会出现同样的问题,即当程序正在操作串口时,在Windows98中使用任何打印程序(包括NotePad,Word,Office等)均会出现蓝屏,实际上系统的打印设备已完全报废。我仔细研究过这个例子程序,它并没有对打印口和打印机做任何操作。在我的程序中,尚未涉及打印部分时即出现了这个问题。望不吝赐教,谢谢。
wyj 2000-01-04
  • 打赏
  • 举报
回复
24小时内送到
kxy 2000-01-04
  • 打赏
  • 举报
回复
不如把你的测试程序发给我来试一下.
wyj1 2000-01-04
  • 打赏
  • 举报
回复
没有进一步的建议了吗?好可惜啊,200分哪!
wyj 2000-01-04
  • 打赏
  • 举报
回复
本人回复KXY先生:十分感谢您。您可以试一下,做一个最简单的用线程读写串口的程序,在它运行的同时使用NOTEPAD打印,如果没有问题,请您将源码发给我,麻烦您,谢谢,
(我的EMAIL是:WYJKMSC@NETEASE.COM,您注意使用指定的函数)
kxy 2000-01-03
  • 打赏
  • 举报
回复
是否线程的同步没有处理好.串口属于临界区资源.
tide 2000-01-03
  • 打赏
  • 举报
回复
我记得有一个portman的程序可以监视断口操作。用它试一试。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧