|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于ZLG/IP |
| 作者:luck_zhan 欄目:ARM技術(shù) |
大家都在說ZLG/IP有問題. 而像我這樣對ZLG的依賴性很大的人來說,用ZLG/IP就是不用考慮的選擇(沒有能力和精力去選擇別的CPU和TCP/IP協(xié)議棧).我想像我這樣的人可能不在少數(shù). 大家看看,能不能互相幫助,把ZLG/IP改造好,主要是把已有的源代碼中的錯誤找出來,利人利已. 貼一個前人找到的錯誤(網(wǎng)友lizhenarm): 源代碼在Ethernet.c文件的Rec_Packet函數(shù)中: ---- WriteToNet(0x0b,tmp[0] //RSCR1寫入讀取字節(jié)計數(shù)高字節(jié)//read count high WriteToNet(0x0a,tmp[1]); //RSCR0寫入讀取字節(jié)計數(shù)低字節(jié)//read count low; 應(yīng)更改為: WriteToNet(0x0b,tmp[1]>>8&0x00ff); //RSCR1寫入讀取字節(jié)計數(shù)高字節(jié)//read count high WriteToNet(0x0a,tmp[1]&0x00ff); //RSCR0寫入讀取字節(jié)計數(shù)低字節(jié)//read count low; --- 我也找了一個,不知對不對: 源代碼在IP.c文件的IP_PROCESS()函數(shù)中 ---- uint8 IP_PROCESS(uint8 * RecData,uint8 num) { static TEMP.html">TEMP=0; --- --- TEMP.html">TEMP++; if(TEMP.html">TEMP>=MAX_REC_BUFF) TEMP.html">TEMP=1; --- --- 在這個函數(shù)中,局部變量TEMP.html">TEMP不可能大于MAX_REC_BUFF,因為在進入函數(shù)時已將TEMP.html">TEMP清0了.所以TEMP沒有存在的意義的 ------ * - 本貼最后修改時間:2006-3-18 7:37:30 修改者:luck_zhan |
| 2樓: | >>參與討論 |
| 作者: hexenzhou 于 2006/3/17 16:10:00 發(fā)布:
! static TEMP=0; 有意義,TEMP是靜態(tài)局部變量(static),它和全局變量差不多,只是它只能局部訪問! |
|
| 3樓: | >>參與討論 |
| 作者: local_mach 于 2006/3/18 14:47:00 發(fā)布:
??? 樓主搞錯了這個變量的用法了 |
|
| 4樓: | >>參與討論 |
| 作者: luck_zhan 于 2006/3/19 14:20:00 發(fā)布:
是啊!謝謝了! 讀書,不認真啊! |
|
| 5樓: | >>參與討論 |
| 作者: luck_zhan 于 2006/3/20 16:26:00 發(fā)布:
- 在用ZLG/IP時出現(xiàn)兩個問題: 背景: 只用TCP任務(wù).用開發(fā)板做客戶機,PC做服務(wù)器. 1 只調(diào)用一次Arp_Request()無法獲得對的MAC 2 連續(xù)傳數(shù)會掉線,用ENTHERREAL抓包查看,雙方并沒有關(guān)掉連接,那應(yīng)是應(yīng)答出了問題. 高手能指點一下,怎樣進行改進嗎? 周公說ZLG/IP只要稍加修改就可實用,看來還要再努力啊! * - 本貼最后修改時間:2006-3-20 16:27:30 修改者:luck_zhan |
|
| 6樓: | >>參與討論 |
| 作者: eleven11 于 2006/3/20 16:45:00 發(fā)布:
我第一次嘗試tcp不是很成功 zlgip代碼寫的很亂,后來我改用zlip * - 本貼最后修改時間:2006-3-20 16:51:44 修改者:eleven11 |
|
| 7樓: | >>參與討論 |
| 作者: luck_zhan 于 2006/3/21 8:26:00 發(fā)布:
是校驗和出錯,正在想,出錯了怎么辦? |
|
| 8樓: | >>參與討論 |
| 作者: luck_zhan 于 2006/3/24 17:19:00 發(fā)布:
-- while(ExPtr!=NULL) { /* 寫數(shù)(IP,TCP,DATA) 問題: 如果數(shù)據(jù)為單個的怎么辦???? */ TEPTR = ExPtr->DAPTR; for(ii=0;ii<((ExPtr->length+1)/2);ii++) { send_buff.bytes[0] = *TEPTR; TEPTR++; send_buff.bytes[1] = *TEPTR; TEPTR++; WriteToNet(0x10,send_buff.words); } ExPtr = ExPtr->STPTR; } 如果發(fā)的數(shù)是單個的怎么辦,這個段代碼,沒看懂,有人能指點一下嗎? |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |