|
感谢 shuiyan 大哥的帮忙,我试过了什么都不做就返回信息,也试过了直接用买的板子和程序与我做的PC程序通信,显示的耗时基本相同。一下是PC端的VC代码
- int CReceiveInSendSocket::Send(const void* lpBuf, int nBufLen, int nFlags)
- {
- //2009年3月18日13:09:50添加 用于输出本函数执行的处理器时间
- clock_t start=clock();
- // TODO: Add your specialized code here and/or call the base class
- if(nBufLen==0)
- return 0;
- CSocket::Send(lpBuf, nBufLen, nFlags);
- int i= Receive();
-
- TRACE("发送数据所用时间:%d\n",clock()-start);
- return i;
- }
复制代码 发送时调用此函数,TRACE语句输出的时间就在500毫秒左右。
下面是MCU端keil c代码
- void OnAcceptRecv(void DT_XDATA *buf,WORD size) REENTRANT_MUL
- {
- /* printf received data */
- #ifdef DEBUG
- while(size--)
- printf("%c",*((BYTE DT_XDATA *)buf)++);
- #endif
- char DT_XDATA EndDeal[]={0xff}; //一下部分为简单修改原来的程序
-
- OrderManage(buf,size); //命令响应函数,调试用的命令什么都没有做
- if(Length==0)
- TCPSend(ExAccept,EndDeal,1);//命令响应函数什么都不做 Length==0所以回发一个0xff
- TCPSend(ExAccept,SendData,Length);//此处Length为0应该不发送任何数据
- Length=0;
- }
复制代码 请麻烦各位继续帮忙看看是哪儿的问题非常感谢!! |
|