[求助]CH375要傳的數(shù)據(jù)大于64怎么辦?

當(dāng)要傳的數(shù)據(jù)大于64時該怎么辦?是多加一個循環(huán)嗎?邊寫邊讀然后再在里面加一個DISK_RD_GO命令嗎? for(j=0;j++) { for(i=0;i<64;i++) { ... } .write_command_to_usb(DISK_RD_GO)?? }

CH375做主機(jī)操作U盤還是做設(shè)備和計算機(jī)進(jìn)行數(shù)據(jù)通信?如果和計算機(jī)通信的話,那么每次寫完64字節(jié)的數(shù)據(jù)之后,需要等待計算機(jī)取走,計算機(jī)取走之后CH375會產(chǎn)生端點上傳中斷。之后在發(fā)送下一包數(shù)據(jù)。


是做設(shè)備和計算機(jī)上位機(jī)進(jìn)行數(shù)據(jù)通信。我試了下,寫入128個數(shù)據(jù)要發(fā)送65個數(shù)據(jù),發(fā)現(xiàn)前64數(shù)據(jù)接收個正常,第65個數(shù)據(jù)就重復(fù)變成已接收的第一個數(shù)據(jù)了。你說的端點上傳中斷是怎么回事?能具體說說嗎?不用什么特別的函數(shù)指令嗎?


這是我的發(fā)送函數(shù): usb_tx(void) { int i,j; //usb數(shù)據(jù)發(fā)送 write_command_to_usb(WR_USB_DATA7); //發(fā)送寫入數(shù)據(jù)命令 write_data_to_usb(length);//寫入第一個字節(jié),即后續(xù)數(shù)據(jù)長度 for(j=0;j { for(i=0;i<64;i++) //連續(xù)寫入64個字節(jié)數(shù)據(jù) { write_data_to_usb(UWR_BUFFER[j][i]); } } //等待產(chǎn)生中斷表示數(shù)據(jù)已經(jīng)被USB主機(jī)接收 do{ while(ch375_intflag == 1); //等待中斷產(chǎn)生 ch375_intflag = 0; //清除CH375中斷標(biāo)志位 } while(ch375_status != USB_INT_EP2_IN); //等待USB數(shù)據(jù)發(fā)送成功

write_command_to_usb(UNLOCK_USB); //發(fā)送釋放當(dāng)前USB緩沖區(qū)命令 return 1; } 接收函數(shù): usb_rx(void) { int i,j; write_command_to_usb(RD_USB_DATA); //發(fā)送讀取數(shù)據(jù)命令 length = read_data_from_usb();//讀取第一個字節(jié),即后續(xù)數(shù)據(jù)長度 for(j=0;j { for(i=0;i<64;i++) //讀取當(dāng)前USB端點2接收到的數(shù)據(jù) { URD_BUFFER[j][i] = read_data_from_usb();

} } return 1; } 有什么問題嗎?


有問題,每次發(fā)送數(shù)據(jù)只能是64字節(jié),當(dāng)寫64字節(jié)到CH375里面去之后,計算機(jī)取走你寫的64字節(jié)之后,CH375中斷引腳會拉為低電平。這個時候讀取中斷狀態(tài)。如果中斷狀態(tài)為批量端點上傳數(shù)據(jù)的話,那么解鎖緩沖區(qū)。在發(fā)送下一包的數(shù)據(jù)。如此循環(huán),直到你發(fā)送的數(shù)據(jù)發(fā)送完為止。


現(xiàn)在已經(jīng)可以在上位機(jī)中把要發(fā)送的大于64字節(jié)的數(shù)據(jù)下傳(我發(fā)送了512字節(jié)),數(shù)據(jù)沒錯??墒巧蟼鞯臅r候出現(xiàn)了錯誤,只能傳最后64字節(jié)之內(nèi)的數(shù)據(jù),前面的數(shù)據(jù)全被覆蓋。不知道修改哪里,頭都暈了,求幫助??!


xiaochen19:我想問一下你是如何實現(xiàn)下傳大于64字節(jié)數(shù)據(jù)的,上傳大于64字節(jié)的數(shù)據(jù)實現(xiàn)了么?能否交流一下~~


上傳大于64字節(jié)的數(shù)據(jù)一次只能上傳64字節(jié),等上傳數(shù)據(jù)成功之后在傳輸你剩余的數(shù)據(jù)。


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

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