關(guān)于CH374U的HOST模式下 HID通信的問題

參考官方的demo HID+UDISK的的程序。 CH374U工作在HOST模式下, 插入自定義的HID的設(shè)備 已經(jīng)枚舉成功,并且可以正常的接收數(shù)據(jù), 但是發(fā)送數(shù)據(jù)失敗, 程序代碼(具體見附件.c .h文件

icon_rar.gifch374.rar

), 下面的實(shí)際代碼 在hid的 device設(shè)備上進(jìn)行仿真 有進(jìn)入OUT中斷, 但是,收到的數(shù)據(jù)不對。

//發(fā)送HID的數(shù)據(jù)

UINT8 HID_Send_Data(uint8_t ch, UINT8 HubIndex,UINT8 **Edp,UINT8 *DataBuffer, UINT32 len? )

{

? ? UINT8 s;

? ? /* 設(shè)置待操作Hub口 */

? ? SelectHub(ch, HubIndex );

? ? if(len>((PEDP_INFO)*Edp)->MaxPacket)

? ? {

? ? ? ? len=((PEDP_INFO)*Edp)->MaxPacket;

? ? }

? ?// s = Issue_Token(ch, DEF_USB_PID_OUT, ((PEDP_INFO)*Edp)->EDPNum, ((PEDP_INFO)*Edp)->Tog, 0 );? ? ? //不重試

? ? s = Issue_Token(ch, DEF_USB_PID_OUT, (((PEDP_INFO)*Edp)->EDPNum)&0x0F, ((PEDP_INFO)*Edp)->Tog, 1000);

? ? if( s == DEF_USB_PID_ACK )

? ? {

? ? ? ((PEDP_INFO)*Edp)->Tog ^= 1;? ?//開啟這后 接收就異常

? ? ? CH374_WriteBlockData(ch, RAM_HOST_RECV, DataBuffer, len);

? ? ? CH374_WriteRegData(ch, REG_USB_LENGTH,len);

? ? ? Delay_Ms(200);//等發(fā)送完成

? ? }

? ? else

? ? ? ? return s;

? ? return Success;

}


其中ch 是 (設(shè)備IC的cs的片選號 )

上述函數(shù) 是參考 get HID data 函數(shù)編寫的,

使用上述函數(shù) 進(jìn)行發(fā)送數(shù)據(jù)? 設(shè)備端接收的字節(jié)是有時(shí)候接收的是64個(gè)字節(jié)? 有時(shí)候是0字節(jié) ,接收64字節(jié)的時(shí)候? 接收的數(shù)據(jù)和發(fā)送數(shù)據(jù)不一樣。


有大佬使用過CH374? HOST模式下 發(fā)送數(shù)據(jù)到設(shè)備端嗎?


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

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