issue token接收數(shù)據(jù)等不到中斷,會是什么原因?

參考CH375LNK.c改的程序,先是調(diào)用host_send()發(fā)送數(shù)據(jù),issue_token(( endp_out_addr << 4 ) | DEF_USB_PID_OUT)后能收到中斷USB_INT_SUCCESS;緊接著調(diào)用host_recv()接收數(shù)據(jù),issue_token(( endp_in_addr << 4 ) | DEF_USB_PID_IN)后總等不到中斷,這可能是什么原因?qū)е碌??哪里沒有配置好?

謝謝啦!

這個有2中可能性,一種是endp_in_addr端點地址以及TOG位出現(xiàn)錯誤。導(dǎo)致獲取數(shù)據(jù)不到。另一種可能性就是你OUT數(shù)據(jù)的時候不符合設(shè)備的要求,設(shè)備沒有反饋給你數(shù)據(jù)。導(dǎo)致IN數(shù)據(jù)取不到。


就是說只有ch375 host接收到設(shè)備數(shù)據(jù)才會產(chǎn)生中斷?endp_in_addr應(yīng)該沒有錯,它的值是從枚舉過程中拿到的(0x1),TOG位是什么,麻煩解釋一下哈;)


另外接收device來的數(shù)據(jù),什么時候知道對方發(fā)送完畢?如果對方數(shù)據(jù)發(fā)送完畢,host又issue了token,這樣host需要設(shè)置timeout,當(dāng)timeout時才知道device沒有數(shù)據(jù)發(fā)送了?


tog指的是toggle data0/data1吧?我兩種情況都試過,仍然沒有響應(yīng)。


是的。你發(fā)一次IN令牌,會從設(shè)備獲取到對應(yīng)端點大小一樣的數(shù)據(jù),如果數(shù)據(jù)小于端點大小,那么設(shè)備就沒有數(shù)據(jù)了,或者你發(fā)IN牌設(shè)備一直返回NAK直到超時(時間根據(jù)你的設(shè)備而定)說明也沒有數(shù)據(jù),而且數(shù)據(jù)的多少你事先不知道?!你在發(fā)IN牌前OUT數(shù)據(jù)代表什么意思什么格式?告訴你的設(shè)備返回什么樣的數(shù)據(jù)?


發(fā)out數(shù)據(jù)是一個狀態(tài)查詢status query消息,要求設(shè)備返回一個狀態(tài)報告。和設(shè)備的交互都是這樣類似的消息,out一條command,等待一條response,這種模式下用ch375怎么編程方式比較好?

另外我想確認(rèn)一下,如果發(fā)了一條IN令牌,usb設(shè)備沒有響應(yīng),就不會受到ch375的中斷嗎?如果usb設(shè)備返回了NAK,會收到中斷嗎?


IN數(shù)據(jù)的多少不太好確定,因為要連不同廠家的設(shè)備,所以不能假定每個廠家回復(fù)都是同樣大小的數(shù)據(jù)。


那就需要確定問題在什么地方,例如把你的設(shè)備接到計算機上面,先看下計算機發(fā)送什么數(shù)據(jù),你按照這個數(shù)據(jù)發(fā)送下去在去取數(shù)據(jù),看下是否可以取上來。


用計算機連接設(shè)備可以取上來。現(xiàn)在通過ch375發(fā)送一條和計算機一模一樣的status query命令,卻一直等不到ch375的中斷。這個時候如果試圖去讀ch375的數(shù)據(jù),就會一直讀到0x14(前面out token的USB_INT_SUCCESS)。

另外說明一下,我們是用lpc2214和ch375連接的,枚舉過程已經(jīng)成功,中斷一直處于打開方式。

還有什么好的調(diào)試方式?如查看某些ch375的狀態(tài),或者用usb monitor?比較急,謝謝貴公司。。


用bushound抓了下pc和設(shè)備的通信過程,其中有很多vendor request,而且設(shè)備用的芯片是cp2102,大概和這有關(guān)系吧? 網(wǎng)上搜了一下,發(fā)現(xiàn)cp2102似乎有點特殊的。看到論壇上的這篇文章:http://wch.cn/bbs/View.asp?T=1&S=101&I=52514,得知貴公司有CH374操作CP2102的例子程序,麻煩給我發(fā)一份,如果有ch375和cp2102的例子更好:) 謝謝!

我的郵箱個人信息保護,已隱藏


和CP2012通信前面是需要設(shè)置波特率以及設(shè)置串口的位數(shù),包括數(shù)據(jù)位,起始位以及停止位等等,之后完成這些設(shè)置之后才能通信的。UploadImages/201314840336.rar


謝謝!


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

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