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