我在調(diào)試后臺(tái)的時(shí)候遇到了問(wèn)題: 后臺(tái)發(fā)送1~14或31~46個(gè)或63~64個(gè)數(shù)據(jù)給下位機(jī)時(shí),下位機(jī)都能將數(shù)據(jù)回傳給后臺(tái),而后臺(tái)發(fā)送的數(shù)據(jù)個(gè)數(shù)不在這些范圍之內(nèi)時(shí),下位就無(wú)法正確回傳數(shù)據(jù),用CH372DBG調(diào)試也同樣出現(xiàn)上述情況,特來(lái)請(qǐng)教高手,謝謝啦
那你讀取到的數(shù)據(jù)長(zhǎng)度就不正確還是讀取數(shù)據(jù)的時(shí)候出現(xiàn)問(wèn)題?還有就是你的工作電壓是多少?如果是5V的話需要注意下抗干擾的問(wèn)題,如果是3。3V的話,那么需要仔細(xì)看下你的時(shí)序以及并口的速度問(wèn)題等等。都可能引起通信出現(xiàn)問(wèn)題
(1)確認(rèn)是上位機(jī)無(wú)法下傳這些數(shù)據(jù),還下位機(jī)無(wú)法上傳這些數(shù)據(jù) (2)用CH372DBG下傳時(shí),單片機(jī)能否收到,如果收不到的話,那么得檢查下位機(jī)程序 另,CH372DBG下傳數(shù)據(jù)格式:112233,表示下傳3個(gè)數(shù)據(jù)0x11,0x22,0x33,中間沒(méi)有空格
上位機(jī)給下位機(jī)發(fā)送數(shù)據(jù)個(gè)數(shù)在1—14個(gè)或31—46個(gè)或63-64個(gè)這三個(gè)范圍內(nèi)數(shù)據(jù)傳送和數(shù)據(jù)回傳都是正確的,而其他范圍內(nèi)數(shù)據(jù)傳送和數(shù)據(jù)回傳都是錯(cuò)誤的
和您說(shuō)說(shuō)了,估計(jì)在某一根信號(hào)線上面存在干擾。
用CH372DBG調(diào)試的時(shí)候,也會(huì)出現(xiàn)上述情況,部分?jǐn)?shù)據(jù)都是錯(cuò)的,長(zhǎng)度有時(shí)候也不對(duì)(數(shù)據(jù)長(zhǎng)度在以上三個(gè)范圍內(nèi)不會(huì)出現(xiàn)錯(cuò)誤情況)
的確是干擾問(wèn)題,謝謝提供幫助
硬件已經(jīng)做好了,很難更改,軟件上有沒(méi)有什么抗干擾的好辦法呢
如果確定是干擾的問(wèn)題的話,那么只能降低速度來(lái)看下可以不可以了,如果不行的話那只能飛線解決問(wèn)題了。
奇怪的是我連續(xù)發(fā)送N組64個(gè)數(shù)據(jù),返回的數(shù)據(jù)都不會(huì)有問(wèn)題
也不能排除是軟件的問(wèn)題,這樣測(cè)試,你通過(guò)USB接口把數(shù)據(jù)下發(fā),然后通過(guò)串口進(jìn)行數(shù)據(jù)監(jiān)視,長(zhǎng)時(shí)間通訊看看數(shù)據(jù)有沒(méi)有錯(cuò)誤,如果沒(méi)有錯(cuò)誤的話說(shuō)明硬件基本上問(wèn)題不大,還是軟件這邊沒(méi)有處理好。另外2樓已經(jīng)告訴如何使用CH372DBG,不要用你的軟件,確保PC軟件是正確的。