s3c6410 WinCE 6 串口收发
s3c6410 和单片机通信,波特率是57600
6410 发送3个字节的命令给单片机,单片机马上回复3个字节的确认信息
测试发现6410发送完命令之后,要过几毫秒才能收到单片机的信息,快则3毫秒,慢则10毫秒,不知道是不是正常??
因为我要发送一系列的指令才能完成一个动作,所以通讯时间加起来还是比较可观的,浪费了50毫秒以上
已经用轮询的方式去读串口数据了
DWORD PSerialPort::CommRecvTread(LPVOID lparam){ DWORD dwLength; BYTE *recvBuf = new BYTE[MAX_READSIZE]; PSerialPort *pClass = (PSerialPort*)lparam; while(TRUE) { // 等待线程退出事件 if (WaitForSingleObject(pClass->m_ExitThreadEvent, 0) == WAIT_OBJECT_0) break; if (pClass->m_hComm != INVALID_HANDLE_VALUE) { // 从串口读取数据 while(ReadFile(pClass->m_hComm, recvBuf, pClass->mReadSize, &dwLength, NULL)) { if(dwLength != 0) pClass->onCommRecv(recvBuf, dwLength); // 接收成功,调用回调函数 else break; } } } delete[] recvBuf; return 0;}