速率600波特对设备发送的指令要求, 首字节100 - 1000ms, 其余字节20-1000ms.
怎样设定这个时间,每发一个字节检测睡眠一下? 另外, 这最低限制100MS, 有没有包括,
数据传送的时间, 没具体搞过单片机, 不知道单片机怎么计算这个时间。各位有何高见?以下是我写的代码:
由于现在还没有硬件测试, 所以, 还不知对错, 路过的高手指点一二!OVERLAPPED o_write = {0};
o_write.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
DWORD length = 0, dwreadlength; while(dwLength--)
{
if(!WriteFile(comm_handle, &data[length++], 1, &dwreadlength, &o_write))
{
if(GetLastError() != ERROR_IO_PENDING)
{
CloseHandle(o_write.hEvent);
return FALSE;
}
if( WaitForSingleObject(o_write.hEvent, 1000) != WAIT_OBJECT_0)
{
CloseHandle(o_write.hEvent);
return FALSE;
} ResetEvent(o_write.hEvent);
} length == 1 ? Sleep(100) : Sleep(20);
} CloseHandle(o_write.hEvent);有更好的办法请告诉我