關(guān)于中斷的問題,請教hcn!

你看下前面的枚舉都成功嗎?你可以用BUSHOUND抓下計算機操作掃描槍的步驟,然后你在參照這個步驟來寫你單片機的枚舉程序,可能你枚舉的時候有點問題,在說你的這個程序有點問題,你用這段程序試下: void intt0() { unsigned char len_temp,status,i; unsigned char *BUF=buffer_r; CH375_WR_CMD_PORT( CMD_GET_STATUS ); /* 產(chǎn)生操作完成中斷, 獲取中斷狀態(tài) */ status=CH375_RD_DAT_PORT();//printf("%02x ",(unsigned int)status);printf("\n"); if(status!=USB_INT_SUCCESS)//&&((status&0xf0)==0x20)) { CH375_WR_CMD_PORT( CMD_CLR_STALL );//printf("13\n"); CH375_WR_DAT_PORT(1); /* 如果設(shè)備端不是CH37X芯片,那么需要修改端點號 */ toggle_recv(1); issue_token_s(( endp_int << 4 ) | DEF_USB_PID_IN);//發(fā)送從中斷端點讀數(shù)據(jù)的令牌 } else{ len_temp=rd_usb_data(buffer_r); //鍵盤中斷端點數(shù)據(jù)長度一般為8字節(jié),鼠標為4字節(jié) for(i=0;i!=8;i++)printf("%02x ",(unsigned int)buffer_r[i]); printf("\n"); // flag_output=0; tank=((~tank)&0x01); toggle_recv(tank); issue_token_s(( endp_int << 4 ) | DEF_USB_PID_IN);//發(fā)送從中斷端點讀數(shù)據(jù)的令牌 } }


hcn: 其實前面的枚舉并不成功,我發(fā)現(xiàn)rd_usb_data();這個函數(shù)讀不了數(shù)據(jù),不管是前面的獲取描述符,還是后面的接收數(shù)據(jù)。 所以,我走了條捷徑,用相關(guān)軟件抓取了掃描槍的描述符,然后根據(jù)這個來進行相關(guān)的設(shè)置,所以后面的代碼里我就直接用1代替了endp_int。 其他部分跟你給的代碼基本沒分別。


hcn: 請問針對我們這樣的課題,貴公司是否有比較實用的設(shè)備來進行調(diào)試? 我始終覺得仿真器有缺陷。


我們公司沒有相關(guān)的設(shè)備,所以沒幫法調(diào)試。


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

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