我用MSComm控件编的VC程序,用了两个串口。在触摸屏工控机上运行,触摸屏也占用了一个串口。
    正常运行时,突然断电,重启后串口错误提示:port already open!!
    再重启后正常.
    重复几次,就开始一直提示:port already open!!    奇怪啊,请各位帮忙找找原因。

解决方案 »

  1.   

    可能还是你程序的问题。用VC++,还是推荐你直接用 Win32 API 操作串行口。
      

  2.   

    CreateFile  串行口ReadFile  读数据WriteFile  写数据CloseHandle  关闭串行口
      

  3.   

    检查下你少了下面所示的 API函数么 ??BuildCommDCB
    BuildCommDCBAndTimeouts
    ClearCommBreak
    ClearCommError
    CommConfigDialog
    EscapeCommFunction
    GetCommConfig
    GetCommMask
    GetCommModemStatus
    GetCommProperties
    GetCommState
    GetCommTimeouts
    GetDefaultCommConfig
    PurgeComm
    SetCommBreak
    SetCommConfig
    SetCommMask
    SetCommState
    SetCommTimeouts
    SetDefaultCommConfig
    SetupComm
    TransmitCommChar
    WaitCommEvent
      

  4.   

    我换了硬盘,就好了,一样的程序
    是不是突然断电损失了相关文件?
    改成Win32 API 操作串行口可以避免这种现象吗?
    ========================
    搂主