使用372debug軟件進(jìn)行端點2上傳批量數(shù)據(jù)時候的問題

我現(xiàn)在在用372debug那個軟件調(diào)試上傳數(shù)據(jù),使用的是批量上傳端點2,我現(xiàn)在啟動下位機(jī)(FPGA),初始化好375芯片,然后向其傳輸64個字節(jié),等待上位機(jī)收走。當(dāng)我點擊端點2的上傳按鈕后,的確收到了正確的64個字節(jié)數(shù)據(jù),并且成功的給下位機(jī)中斷,而且下位機(jī)也成功響應(yīng)了中斷,讀出0A碼,代表上位機(jī)取走了數(shù)據(jù),但是當(dāng)我這些做完,在375沒有任何復(fù)位的情況繼續(xù)向其端點2傳輸了64個字節(jié)數(shù)據(jù)后,再點擊debug軟件上端點2的上傳按鈕后,就提示我接收文件失敗,上面對話框還顯示出來375設(shè)備已拔出,或者有的時候成功收完第一幀數(shù)據(jù)后就提示我375器件已拔出,不知道這是下位機(jī)操作不當(dāng)還是上位機(jī)軟件的問題,請指教。

總之就是不能連續(xù)上傳64批量的數(shù)據(jù),我看源程序使用的writeread函數(shù),最多上傳64個字節(jié),我也是一下一下按的按鈕操作,并沒有非法操作啊,很郁悶,望解答一下好嗎?謝謝

應(yīng)該是你下位機(jī)的問題 下位機(jī)在上傳成功之后 有沒有釋放緩沖區(qū)?


沒有釋放緩沖區(qū),因為我還要繼續(xù)傳數(shù)據(jù),上傳完64字節(jié),上位機(jī)手走后我還要傳64個字節(jié),按手冊上講的不用釋放緩沖區(qū)啊,否則我該如何一次一次的連續(xù)上傳64字節(jié)數(shù)據(jù)呢?


每成功傳64B數(shù)據(jù),都必須解鎖,否則無法繼續(xù)上傳,對比下我們的例程吧,下載CH372EVT.ZIP,參考\CH372EVT\PUB\TEST


哦,是這個樣子,但是手冊上并沒有說呢。那再請問一下啊,我是用api函數(shù)接收4096個數(shù)據(jù)的時候,就是那個函數(shù)叫buffload好像,記不太清除了,那樣的話也是上傳64個字節(jié)就要解鎖一下嗎?以往內(nèi)我看debug軟件中使用的是readwrite函數(shù),那我不用這個函數(shù)的話每次上傳也需要解鎖嗎?謝謝指教


解鎖是對下位機(jī)而言的,\CH372EVT\PUB\TEST下有上下位機(jī)的例程,參考一下啊


恩,我看過了,因為令我不解的是,手冊當(dāng)中的這段話:“ ①、 單片機(jī)執(zhí)行WR_USB_DATA 命令向CH372 寫入要發(fā)送的數(shù)據(jù); ②、 CH372 被動地等待USB 主機(jī)在需要時取走數(shù)據(jù); ③、 當(dāng)USB 主機(jī)取走數(shù)據(jù)后,CH372 首先鎖定當(dāng)前USB 緩沖區(qū),防止重復(fù)發(fā)送數(shù)據(jù),然后將INT# 引腳設(shè)置為低電平,向單片機(jī)請求中斷; ④、 單片機(jī)進(jìn)入中斷服務(wù)程序,首先執(zhí)行GET_STATUS 命令獲取中斷狀態(tài); ⑤、 CH372 在GET_STATUS 命令完成后將INT#引腳恢復(fù)為高電平,取消中斷請求; ⑥、 由于通過上述GET_STATUS 命令獲取的中斷狀態(tài)是“上傳成功”,所以單片機(jī)執(zhí)行 WR_USB_DATA 命令向CH372 寫入另一組要發(fā)送的數(shù)據(jù),如果沒有后續(xù)數(shù)據(jù)需要發(fā)送,那么單片機(jī)不必執(zhí)行WR_USB_DATA 命令; ⑦、 單片機(jī)執(zhí)行UNLOCK_USB 命令; ⑧、 CH372 在UNLOCK_USB 命令完成后釋放當(dāng)前緩沖區(qū),從而可以繼續(xù)USB 通訊; ⑨、 單片機(jī)退出中斷服務(wù)程序; ⑩、 如果單片機(jī)已經(jīng)寫入了另一組要發(fā)送的數(shù)據(jù),那么轉(zhuǎn)到②,否則結(jié)束。

其中的第6步操作,并沒有執(zhí)行unlock命令而是直接上傳另一組數(shù)據(jù)了,為什么呢?

再一個請您 解答一下我的另一個問題,我若要上位機(jī)使用CH375SetBufUpload函數(shù)的話該如何操作呢?下位機(jī)是否也是上傳完畢64個字節(jié)數(shù)據(jù)就要解鎖一下?謝謝


1、⑥是寫入新的數(shù)據(jù),⑦是解鎖,你再看看⑩的解釋,⑥僅是把數(shù)據(jù)寫入CH375,CH375并不把數(shù)據(jù)發(fā)送給PC,只有執(zhí)行⑦以后,數(shù)據(jù)才被發(fā)送出 2、下位機(jī)流程就是照6樓這么做,與上位機(jī)無關(guān)


因為我要上傳5K個數(shù)據(jù),比較多,而每一次是否只能上傳64個,無論上位機(jī)用什么函數(shù)接收,我下位機(jī)都是6L這種上傳方式呢?都要等中斷,解鎖,只不過上位機(jī)不用過多的干預(yù)接收過程而已。。。還望指教


就是這個意思,6L就是下位機(jī)發(fā)送數(shù)據(jù)的流程,與上位機(jī)采用什么方式收數(shù)據(jù)是無關(guān)的


哦,謝謝了 ,了解了


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

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