1.我的程序采用异步方式读写串口,读没有问题,我把读文件放在串口线程程序中.因为读是被动的,调用了wait...函数等待.写文件的函数BOOL fwritestat=WriteFile(tcom->handle,str,1,&cByte,&overlapped);被我放在了一个响应键盘的函数中,我的想法是把键盘敲击内容发送到串口.str就是内容,首先声明的是,这个程序读写都没有问题,已经测试通过了,但是今天我调试BOOL fwritestat=WriteFile(tcom->handle,str,1,&cByte,&overlapped);的时候发现cByte根本没有任何改变,写文件的时候它永远是0...........但是数据确实写到串口了.因为我可以调用程序打印屏幕的内容.我担心这个问题会引起一些不可预知的错误,所以请教大家.....谢谢,万分感谢.
2.异步方式读写串口是否一定需要定义两个OVERLAPPED结构,读写各一个,只定义一个会不会有问题?
3.winNT下能否不采用异步方式读写串口?
2.异步方式读写串口是否一定需要定义两个OVERLAPPED结构,读写各一个,只定义一个会不会有问题?
3.winNT下能否不采用异步方式读写串口?
如果要得到结果,等写完成后你要用GetOverlappedResult()来判断写入的字符数.
2.如果发送和接收的功能要求比较弱,可以只定义一个.推荐定义两个,这样不会发生重叠事件.
3.WINNT下可以用同步方式来读写.这个是交给操作系统,你不必关心.只要,打开的标志设对就可以了.