笔者单位的电脑突然出现不能打印的故障,一开始怀疑是打印机(CR3240型)有问题,但把这台打印机搬到另一台计算机上打印,则一切正常;又怀疑是驱动程序有问题,重新安装驱动程序并配置,不见效;最后确认是计算机主板LPT端口损环,其原因可能是使用者带电插拔打印机信号线造成的。这台计算机是一台PⅢ450 CPU的兼容机,主板为华硕P2B,LPT口是集成在主板上的,不太容易修复, 好好的没了打印输出功能,这真是一个大的缺陷。
以前的386、486等老式计算机是用一块多功能卡来实现对外围设备的控制的,上面包括IDE、软驱、LPT、COM等接口。如果这些外围设备损环的话,一般换一块多功能卡就行了。而现在的这些接口基本上都是集成在主板上的,万一出现问题,是不容易修复的。我手上正好有一块386上的多功能卡。我突发奇想,能不能利用这块卡来使计算机恢复打印功能呢?经过实验,发现是可行的,并适用于各种型号的计算机。方法如下:
1.找到多功能卡的跳线设置,禁止IDE、COM等各种功能,只留LPT功能,并把LPT跳线设置为LPT2,如果不这样设置的话,会与主板上的相应接口冲突。
2.多功能卡基本上都是ISA插口的,直接把多功能卡插在计算机的ISA插槽上。
3.开机运行Winsows,启动控制面板的“添加新硬件”,几分外后,Windows找到了打印端口并自动安装它的驱动程序。你可以从“系统”的“设备管理器”清单中发现多了一个“打印机端口(LPT2)”,这就是我们可以使用的打印机端口了。
4.接上打印机,设置打印机属性的打印输出端口为LPT2,打印一份文章,一切OK。虽然“设备管理器”的清单中也存在LPT1端口,但因损环,不能再使用了。
以上是计算机打印端口损环的应急办法,记住了,千万不要再带电拔插计算机的外围设备了。
不是信号量的问题printf函数,是先写到输出缓冲,遇到\n时,或者缓冲区满时,或者有强制输出(fflush)时,才会将缓冲区里的内容输出到屏幕上(标准输出设备:stdout)。你的代码里面并没有以上3个触发条件的任意一种,所以printf的内存没有实际输出到屏幕上。
你只要在每个printf函数后面加上fflush(stdout)就可以了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)