Windows串口编程问题 115200速率 这个是对于硬件来说的.串口驱动通过串口硬件把90Bytes的数据发送出去, 确实需要一定时间.但是WriteFile写仅是写到缓冲区中, 如果缓冲区没有满, 就写入缓冲区就返回了, 并不会等待数据真正从串口发送出去.所以就有这样的现象了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那有什么办法,能够知道,写入到缓冲的90Byte,已经真实的从硬件接口上完全发送出去了呢? 一般不需要判断,99.999999999999999999999999999999%发送会成功可能是我没有说清楚,我担心的不是串口的驱动,不能把Buff中的数据发出;而是,希望知道,驱动在何时把Buff中的数据已经全部发出。 换句话说,例如,我有1000Byte的数据要发出,但是,由于下面链接的下位机的关系,这1000Byte的数据不能一次性的发送出去,需要分割成100个Byte 长度的10个小段从串口发送给下位机,每个小段之间,要求,要有5 MS的间隔。现在,上位机(PC)端的软件,先发送了100个Byte,这里的WriteFile立即返回了(数据还在Buff中),所以,我希望知道写入到Buff中的100Byte什么时候从硬件接口上发完了,然后,我Sleep 5 MS,我好接着发送剩下的一些100Byte的数据。希望能够,在最短的时间内发送完1000Byte OnCommNotify 中:case EV_TXEMPTY:/*向主线程发送数据已发送消息*/printf("Event:数据已发送\n");break; 请教一个简单的C#转C++的语法问题, MFC中修改appmodul.cpp也可以编译成功? GotoDlgCtrl(GetDlgItem(ID))和GetDlgItem(ID)->SetFocus()一样吗? 如何得到SDI客户区的HWND? 关于定时器 关于xerces-c中DOMWRITE中的WriteToString方法的疑问。 这错误什么意思(在线等,) 请问这个错误该怎么解决!! 紧急!!!请问绘图的问题 为什么VC++中LIST CONTROL 使用中不支持中文 为什么我无法hook到对话框创建的消息 vc6.0字体问题,求解决
可能是我没有说清楚,我担心的不是串口的驱动,不能把Buff中的数据发出;而是,希望知道,驱动在何时把Buff中的数据已经全部发出。
/*向主线程发送数据已发送消息*/
printf("Event:数据已发送\n");
break;