請教一下各位大神,我們上位機和下位機通信采用CY7c68103傳輸資料,采用的是FIFO模式,在測驗程序中發現讀取資料相當的慢,100k的資料居然需要4秒才能讀完,不知道哪里出了問題,下面是我上位機的接收函式,跪求各位大神指點啊!
bool CyUSBWrapper::ReadFromUsb( unsigned char buff[], LONG bytesToRead )
{
// return m_InEndpt->XferData(buff, bytesToRead);//->XferData((buff, bytesToRead);
UCHAR *inContext = m_InEndpt->BeginDataXfer(buff, bytesToRead, &m_inOvLap);
//m_InEndpt->WaitForXfer(&m_inOvLap, m_nTimeOut);
if(!m_InEndpt -> WaitForXfer(&m_inOvLap, m_nTimeOut))
{
m_InEndpt->Abort();
WaitForSingleObject(m_inOvLap.hEvent,INFINITE);
};
return m_InEndpt->FinishDataXfer(buff, bytesToRead, &m_inOvLap, inContext);
}
阻塞和阻塞都試過了 都沒得效果~
uj5u.com熱心網友回復:
100k要分鐘,上面寫錯了uj5u.com熱心網友回復:
試一下其它串口軟體接收,因為自己寫的不一定是很好。快慢不是跟波特率有關系嗎,提高一下波特率
uj5u.com熱心網友回復:
。。。我這個是usb通信,跟波特率貌似關系不大uj5u.com熱心網友回復:
這個和USB中的Frameware有很大的關系, 大資料量適宜選擇 BULK 方式, Packet size 盡量大 如512Byte, 而且下位設備應該及時寫入資料包SDK 中有Demo, 可以參考
uj5u.com熱心網友回復:
升級USB轉232的驅動為最新版。
uj5u.com熱心網友回復:
這不一定是上位機的問題,可能是下位機單次傳輸資料太小。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/130548.html
標籤:硬件/系統
