CH552E的USB device應(yīng)用

在CH554的USB例程庫里VendorDefinedDev.c文件截取代碼如下:

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? switch (USB_INT_ST & (MASK_UIS_TOKEN | MASK_UIS_ENDP))

? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? // 分析操作令牌和端點(diǎn)號

? ? ? ? ? ? case UIS_TOKEN_OUT | 2: // endpoint 2# 批量端點(diǎn)下傳

? ? ? ? ? ? ? ? if (U_TOG_OK)

? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 不同步的數(shù)據(jù)包將丟棄

? ? ? ? ? ? ? ? ? ? UEP2_CTRL ^= bUEP_R_TOG; // 手動翻轉(zhuǎn)

? ? ? ? ? ? ? ? ? ? len = USB_RX_LEN;

? ? ? ? ? ? ? ? ? ? for (i = 0; i < len; i++)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? Ep2Buffer[MAX_PACKET_SIZE + i] = Ep2Buffer[i] ^ 0xFF; // OUT數(shù)據(jù)取反到IN由計(jì)算機(jī)驗(yàn)證

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? UEP2_T_LEN = len;

? ? ? ? ? ? ? ? ? ? UEP2_CTRL = UEP2_CTRL & ~MASK_UEP_T_RES | UEP_T_RES_ACK; // 允許上傳

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case UIS_TOKEN_IN | 2: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // endpoint 2# 批量端點(diǎn)上傳

? ? ? ? ? ? ? ? UEP2_CTRL ^= bUEP_T_TOG; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 手動翻轉(zhuǎn)

? ? ? ? ? ? ? ? UEP2_CTRL = UEP2_CTRL & ~MASK_UEP_T_RES | UEP_T_RES_NAK; // 暫停上傳

? ? ? ? ? ? ? ? break;

這里UIS_TOKEN_OUT | 2選項(xiàng)中做了將從host接收到的數(shù)據(jù)反轉(zhuǎn)后上傳的操作,項(xiàng)目里面不需要這一步,而且在ch573F的Device例程里也沒有看到有這種操作,嘗試將這一步刪了,發(fā)現(xiàn)數(shù)據(jù)傳輸出錯(cuò),請問怎么取消這種反轉(zhuǎn)操作。

可以先參考說明:http://www.findthetime.net/bbs/thread-86976-1.html


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频