一、CH563外圍電路設(shè)計(jì)注意
??? 1.CH563的PHY是電壓型,網(wǎng)絡(luò)變壓器的中心抽頭要接3.3V
??? 2.CH563的電源引腳退耦電容不可少,而且要靠芯片周圍擺放
??? 3.具體接法可以上沁恒官網(wǎng)(www.findthetime.net)上搜索“CH563PCB”
二、CH563初始化失敗
??? 1.初始化函數(shù)需要輸入四個(gè)參數(shù):ip,網(wǎng)關(guān),子網(wǎng)掩碼,MAC. 檢查這些參數(shù)的正確性
??? 2.初始化函數(shù)會(huì)返回狀態(tài)碼,對(duì)照頭文件CH563NET.H,看一下是什么錯(cuò)誤
??? 3CH563初始化后,需要在定時(shí)器中斷里開啟以太網(wǎng)中斷服務(wù)函數(shù)與定時(shí)器中斷服務(wù)函數(shù)
?三、CH563無(wú)法與電腦建立TCP連接
? ? 1. 連接之前先將電腦的網(wǎng)絡(luò)防火墻關(guān)閉。
? ? 2.對(duì)于多網(wǎng)卡的電腦,在設(shè)置電腦端網(wǎng)絡(luò)調(diào)試軟件時(shí)要注意選擇正確的網(wǎng)卡,最好是打開軟件前,將其他網(wǎng)卡都禁用。
??? 3.先ping一下563,若ping不通,則先檢查網(wǎng)口的指示燈是否亮著,若不亮則換一根網(wǎng)線再試;若網(wǎng)口燈亮,則可能563初始化沒(méi)有正確完成
??? 4.若能ping通,可能電腦的端口被占用,而有的網(wǎng)絡(luò)調(diào)試軟件不會(huì)提示,換一下電腦端的tcp端口再試一下。
??? 5.檢查563配置的信息是否正確,目的ip與端口是否與電腦端設(shè)置相同`,TCP連接要注意ip地址處于同一網(wǎng)段,如果是在路由器局域網(wǎng)環(huán)境下,還要考慮395ip地址避免沖突。
??? 6.若出現(xiàn)連接斷開后不能再次連上的問(wèn)題,則可能是因?yàn)?63在檢測(cè)到連接斷開后自動(dòng)關(guān)閉了socket,需要在TCP連接斷開與超時(shí)中斷里重新打開socket。
? 四、563數(shù)據(jù)收發(fā)問(wèn)題
??? 1.CH563NET_MainTask()函數(shù)是庫(kù)主任務(wù)函數(shù),需要在主程序的大循環(huán)里面不停調(diào)用
???? 如果563一次中斷處理時(shí)間過(guò)長(zhǎng),導(dǎo)致主任務(wù)函數(shù)在規(guī)定時(shí)間內(nèi)沒(méi)有運(yùn)行,則可能會(huì)到時(shí)563網(wǎng)絡(luò)異常,因此在寫563的中斷處理過(guò)程應(yīng)該遠(yuǎn)短越好,遇到數(shù)據(jù)量大的任務(wù),可以通過(guò)增加循環(huán)次數(shù)來(lái)解決
??? 2.563在TCP連接與數(shù)據(jù)接收都會(huì)產(chǎn)生中斷信號(hào),通過(guò)調(diào)用函數(shù)CH563NET_QueryGlobalInt()來(lái)查詢,數(shù)據(jù)接收會(huì)依次產(chǎn)生全局中斷與socket中斷,按照中斷狀態(tài)來(lái)處理就可以了。
??? 3.563在數(shù)據(jù)收發(fā)過(guò)程中出現(xiàn)數(shù)據(jù)丟包現(xiàn)象:
??? ·檢查下定義接收緩沖區(qū)大小,讀取接收長(zhǎng)度,看是否超過(guò)了接收緩沖區(qū)。接收緩沖
在定義的時(shí)候至少要大于定義的TCP MSS的值。