能把USB3.0Test_V1.2程序的源碼提供一下嗎?自己測(cè)試怎么都不能達(dá)到這個(gè)速度,用USB3.0Demo根本達(dá)不到這個(gè)速度。
你好,我看了CH372DebugTool.zip源碼和Usb3.0USB3.0Demo在上位機(jī)讀取數(shù)據(jù)代碼是一樣的,都是使用了CH375ReadEndP函數(shù)對(duì)USB一直讀取。測(cè)試速度也是一樣的。
能把USB3.0Test_V1.2程序的源碼提供一下嗎?或是給說(shuō)一下怎么設(shè)計(jì)才能達(dá)到告訴讀取,謝謝
可以先測(cè)試一下開(kāi)啟緩沖上傳的方式,緩沖區(qū)自動(dòng)接收所有數(shù)據(jù),CH375ReadEndP函數(shù)對(duì)USB一直讀取緩沖區(qū)的數(shù)據(jù)。
我測(cè)試板上用的是咱們提供的HSPI_USB_SPEED_Test與上位機(jī)進(jìn)行調(diào)試的,HSPI_USB_SPEED_Test上傳是開(kāi)啟緩沖模式吧
緩沖上傳是上位機(jī)開(kāi)的一個(gè)功能模式哦,和單片機(jī)程序無(wú)關(guān)。
目前我要測(cè)試是上位機(jī)從USB讀取數(shù)據(jù)的速度。不知道怎么設(shè)置上傳緩沖,還希望能給說(shuō)明一下 謝謝!
CH375ReadEndP與CH375ReadData這兩個(gè)函數(shù)什么區(qū)別?
您好。
讀數(shù)據(jù)之前先開(kāi)啟緩沖上傳:CH375SetBufUploadEx(設(shè)備號(hào), TRUE, 上傳端點(diǎn)號(hào), 緩沖上傳的單包大小(不得小余64K,端點(diǎn)大小的整數(shù)倍))
讀數(shù)據(jù)函數(shù)使用這個(gè):CH375ReadData(設(shè)備號(hào), Buf, (PULONG)&Length)
讀數(shù)據(jù)結(jié)束時(shí)關(guān)閉緩沖上傳:CH375SetBufUploadEx(設(shè)備號(hào), FALSE, 上傳端點(diǎn)號(hào), 0)
注:1.緩沖上傳的開(kāi)啟和關(guān)閉不需要每次讀取都進(jìn)行,只需要在讀數(shù)據(jù)之前開(kāi)啟,結(jié)束之后關(guān)閉就可以;
? ? ? ?2.緩沖上傳一個(gè)設(shè)備只能有一個(gè)端點(diǎn)開(kāi)啟,多個(gè)端點(diǎn)上傳另外的端點(diǎn)還是只能使用讀端點(diǎn)函數(shù)CH375ReadEndP;
? ? ? ?3.緩沖上傳開(kāi)啟后,對(duì)齊指定的端點(diǎn)讀數(shù)據(jù)時(shí)用CH375ReadData函數(shù)進(jìn)行,不需要再指定端點(diǎn)號(hào);
CH375SetBufUploadEx這個(gè)函數(shù)使用需要什么前提嗎,當(dāng)我使用這個(gè)函數(shù)與CH375ReadData一起使用時(shí),速率只有10M左右,是我使用的不對(duì)還是有什么其他問(wèn)題,代碼如下:
if (CH375SetBufUploadEx(0, TRUE, 1, 1024 * 4 * 1024)) {
printf("***start cache device %d\n",0);
}
else
{
printf("start cache? defail\n");
}
for (;;)? // 循環(huán)發(fā)送與接收
{
mLength = 4096;
if (CH375ReadData((ULONG)0, mReadBuf, &mLength)) {
if (mLength == 0) {
Sleep(0);? //放棄當(dāng)前線程的時(shí)間片,防止CPU出現(xiàn)100%情況
}
}
else
{
printf("*** Endpoint 1 receive failed! ***\n");
system("pause");
Sleep(1000);
return;
}
CH375SetBufUploadEx(0, false, 1, 0);
上面這段代碼有什么問(wèn)題嗎?
目前看代碼段沒(méi)有問(wèn)題,可以電話聯(lián)系我:025-52635387 或者給我發(fā)送郵件:dxy@wch.cn