我在调一个有串口外设的程序,首先我把串口占用,但往往。我还没还得及把它还给系统,我的程序就出错终止了。这样的话我下次运行程序就无法再用串口了。我想问一下。有没有什么办法可以抢回串口。谢了。分不多。望函亥。

解决方案 »

  1.   

    我现在只能注销计算机来始串口重新初始化。我想API里可能有此类的东西,一直没找到。
    我还在还是在调程序阶段所以经常会出现这样的问题。
      

  2.   

    晕上面果D讲左等于没讲..你试下:
    OCXmscom.InBufferCount = 0 '清空输入缓冲区
    OCXmscom.OutBufferCount = 0 '清空输出缓冲区
      

  3.   

    在您的程序对串口初试化的时候写这样的代码:
    if com1.portopen then com1.portopen=false  '这句是关键
    com1.commport=...
    com1.InputMode=...
    com1.portopen=true
    com1.setting=...
    com1.inbuffersize=...
    com1.outbuffersize=...
    com1.inputlen=...
    com1.portopen= true          '设置完毕后再打开端口
    关键在于在程序初试化的时候就先判断端口是否打开,如果已打开,则先关闭,再设置关口,设置完毕后再打开端口。
    希望这些对楼主有所帮助。