我的模式是上位機(jī)發(fā)給CH375一個(gè)命令,CH375收到后會(huì)觸發(fā)中斷,單片機(jī)讀到中斷狀態(tài)(端點(diǎn)2有數(shù)據(jù))后讀取數(shù)據(jù),然后開始發(fā)送數(shù)據(jù),如果要發(fā)送的數(shù)據(jù)小于64的話好辦,直接在讀取中斷狀態(tài)后發(fā)送就可以了,但是如果大于64字節(jié),我就需要先發(fā)64個(gè)字節(jié),然后等待PC取走數(shù)據(jù),然后觸發(fā)端點(diǎn)2的發(fā)送成功中斷,在這個(gè)中斷處理函數(shù)里接著發(fā)送沒發(fā)送完的數(shù)據(jù)。不知道這樣可行不可行。另外PC端的上位機(jī)軟件在readdata 后還會(huì)一直等待嗎,還是readdata 64個(gè)字節(jié)后就退出了呢,那后續(xù)的字節(jié)他還會(huì)收嗎
查看: 1553
回復(fù): 4
如何發(fā)送大于64字節(jié)的數(shù)據(jù)給上位機(jī)
熱門產(chǎn)品 :
USB3.0 HUB控制器:CH634
CH375ReadData的緩沖區(qū)最大可以開4k,CH375ReadData在下面三種情況下會(huì)退出:1,設(shè)置了超時(shí),并且超時(shí)時(shí)間到了退出;2,CH375ReadData讀到的數(shù)據(jù)滿足要求退出;3,如果CH375ReadData讀到一個(gè)零頭包(0~63大小的包)就會(huì)認(rèn)為通訊結(jié)束,CH375ReadData退出.
1 那我下位機(jī)那樣設(shè)計(jì)是否可以呢 2如果CH375ReadData讀到一個(gè)零頭包(0~63大小的包)就會(huì)認(rèn)為通訊結(jié)束,CH375ReadData退出. 什么叫零頭包,不大懂。。
還有就是我發(fā)完第一組數(shù)據(jù)后要不要釋放當(dāng)前緩沖區(qū),如果不釋放,下一組數(shù)據(jù)還能寫進(jìn)去嗎
不可以的.必須要釋放,否則上位機(jī)收不到數(shù)據(jù).
請(qǐng)勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄