读串口线程是否真能与写串口操作同步执行??? (100分)

  • 主题发起人 主题发起人 lixiaoxi
  • 开始时间 开始时间
L

lixiaoxi

Unregistered / Unconfirmed
GUEST, unregistred user!
我用API写串口通讯。为读串口建立线程,用ClearCommError检测串口状态,读取数据。但是一旦同步执行写串口操作,程序就会异常中断。后来只好在执行写操作之前强行终止线程。搞成了异步方式。请教高手问题出在哪里?如何解决??
另外,我用POSTMESSAGE(unit1.FHWnd,PWM_COMMAND,WPARAM(strlen),LParam(Pchar(AbIn))),向主程序中的处理函数procedure TForm1.CommWndProc( var msg:TMessage) {FHWnd:=ALLocateHWnd(CommWndProc);} 发送信息时,虽然消息能够传递并触发事件,但是只要桌面窗口一切换程序就会报错。求教高手,大虾,牛人。谢谢。。。
 
可以呀!
一个 Comhandle ..
用两个线程.
ReadThread
WriteTHread
 
两个线程ReadThread,WriteTHread 需要进行防冲突处理吗?
(防止同时对串口进行读写操作)
 
应该用TCriticalSection进行线程同步,我记得串口好像是单功工作的,网卡之类才支持双功工作.
你的程序性能要求非常高?精确到几毫秒?
 
后退
顶部