如果需要上位機循環(huán)向下位機發(fā)送數(shù)據(jù),請問是不是一定要等到下位機接收完第一次發(fā)送的數(shù)據(jù)包,上位機才會再次發(fā)送第二個數(shù)據(jù)包。
熱門產(chǎn)品 :
CH339: 7端口多功能USB HUB控制器芯片
如果需要上位機循環(huán)向下位機發(fā)送數(shù)據(jù),請問是不是一定要等到下位機接收完第一次發(fā)送的數(shù)據(jù)包,上位機才會再次發(fā)送第二個數(shù)據(jù)包。
實際的傳輸過程是這樣的,主機先發(fā)數(shù)據(jù)給372,372就會給主機返回一個ACK,通知主機繼續(xù),然后372接收到數(shù)據(jù)之后產(chǎn)生中斷,通知單片機來取數(shù)據(jù)。
如果單片機取數(shù)據(jù)出現(xiàn)錯誤或其它原因要通知上位機停止發(fā)送數(shù)據(jù)該怎么做呢?
出錯的話,那么372就會給上位機返回一個STALL的握手包,通知主機出錯了,主機知道了錯誤之后在進行處理,或者你人為的給上位機發(fā)一個NAK的握手包上去,通知主機從機正忙,這樣的話,主機就不會給從機發(fā)送數(shù)據(jù)了