各位高手: 我現(xiàn)在用CH375和CH372通訊的時(shí)候,可以最多正常通訊5分鐘左右.然后會(huì)出現(xiàn)CH375發(fā)送ISSUE_TOKEN命令(接收數(shù)據(jù)的IN 事務(wù))后,接收不到執(zhí)行成功的中斷.這是什么原因,是CH372沒有收到我這個(gè)命令嗎?想問(wèn)問(wèn)在CH372做了什么事情后,CH375會(huì)收到執(zhí)行成功的中斷?這個(gè)事情是自動(dòng)發(fā)生的,不用我們控制了嗎?如果發(fā)生這種情況,該如何處理,是否繼續(xù)發(fā)送ISSUE_TOKEN命令,直到接收了發(fā)送成功的中斷標(biāo)志.希望那位清楚的把這個(gè)流程講講,就是當(dāng)CH375發(fā)送ISSUE_TOKEN命令(接收數(shù)據(jù)的IN 事務(wù))后,后面發(fā)生了些什么事情,CH372又做了什么事情?謝謝!
首先在你的程序里面要先考慮到前面的一次傳輸有沒有完成,只有在你的前面一次傳輸完成之后在發(fā)送命令。當(dāng)主機(jī)將令牌的命令發(fā)送出去之后,372收到這個(gè)命令之后,那么,會(huì)先檢查372緩沖區(qū)的數(shù)據(jù)有沒有準(zhǔn)備好,如果沒有準(zhǔn)備好的話,那么就會(huì)給375返回NAK,如果準(zhǔn)備好的話,這個(gè)時(shí)候會(huì)給375返回ACK,當(dāng)375收到ACK之后,就會(huì)給單片機(jī)的中斷引腳拉低,給你返回的狀態(tài)是操作成功,接著就可以讀取數(shù)據(jù)了,你這個(gè)問(wèn)題好象是372那邊復(fù)位掉了,372那邊的三個(gè)讀寫自函數(shù)是用模擬I/O口來(lái)操作的嗎?又或者是你的372那邊的程序沒有將上一次寫進(jìn)去的數(shù)據(jù)解鎖掉就可能出現(xiàn)你說(shuō)的這種現(xiàn)象
斑竹,你好! 我的CH372那邊是用模擬I/O操作來(lái)進(jìn)行讀寫操作的.你說(shuō)CH372沒有將上一次寫進(jìn)去的數(shù)據(jù)解鎖,應(yīng)該不是.因?yàn)槲以?分鐘內(nèi)至少已經(jīng)成功通訊幾百次了,我是讓CH375和CH372一直通訊,用的是CH375+44B0做主機(jī),CH372+AVR做從機(jī),主機(jī)實(shí)時(shí)從從機(jī)那里采集數(shù)據(jù),顯示出來(lái).因?yàn)閺臋C(jī)沒有LCD.你說(shuō)CH372復(fù)位掉了,是什么意思呢?該如何處理?我發(fā)現(xiàn)有時(shí)CH375和CH372通訊時(shí)候,有時(shí)是一開始CH375對(duì)CH372枚舉的時(shí)候就失敗了,CH372使用內(nèi)置固件模式,CH375沒有收到CH372的描述符,說(shuō)明CH372是沒有響應(yīng)的。請(qǐng)問(wèn)你們技術(shù)支持有電話嗎?我想電話咨詢一下,現(xiàn)在項(xiàng)目馬上著急驗(yàn)收,但是我發(fā)現(xiàn)這個(gè)問(wèn)題不解決,很不好交差,其它都沒問(wèn)題了,通訊也不是不行,就是不能連續(xù)通訊幾個(gè)小時(shí).
那你這樣,你將你的372這邊的程序發(fā)到我們技術(shù)信箱這邊,我擔(dān)心的是你的模擬I/O口時(shí)序上面沒有做好的話,有可能將數(shù)據(jù)當(dāng)作是命令發(fā)送給的372,從而造成372復(fù)位。:tech@wch.cn
斑竹,謝謝你發(fā)的郵件. 不過(guò)我用你修改的程序依然還是存在哪個(gè)問(wèn)題,我想問(wèn)問(wèn)CH372本身就存在這樣的問(wèn)題。比如穩(wěn)定性方面的。內(nèi)置固件有時(shí)無(wú)響應(yīng).還有我想問(wèn)問(wèn)CH375和CH372通訊,是否CH375是否可以不用對(duì)CH372進(jìn)行枚舉就可以通訊?謝謝.
375操作372是可以不用枚舉或者你直接就發(fā)自動(dòng)配置的命令來(lái)枚舉372