找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3653|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

以太網(wǎng)端的上位機程序設(shè)計

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-13 17:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  這些日子有點累了,得先放一放,好好休息休息,可喜的是我心中已經(jīng)大體有個思路了,比起先前小白現(xiàn)在好多了,是這樣的思路:
   上位機端也就是服務(wù)器端只要加載一個WIN_32.lib庫就可以使用socket進(jìn)行編程,而他是面向TCP和UDP的哈哈正合我意,就用套接字編寫上位機程序,然后使用UDP/IP協(xié)議這個在客戶端實現(xiàn)是沒問題的,就剩下這個服務(wù)器端的程序,因為這次要用C編程所以真的還是頭一次,先計劃做個DOS下的數(shù)據(jù)的交互在考慮網(wǎng)頁控制,只要能實現(xiàn)UDP數(shù)據(jù)通信我就燒高香了,PC下編程主要還是API和C語言的功底,什么結(jié)構(gòu)、聯(lián)合、枚舉、多重指針,重入,類、進(jìn)程、線程、句柄、消息、消息隊列、各種宏定義,不過微軟有個參考文檔,英文不行還真他媽的坑爹啊。不得不學(xué)習(xí)PC下編程,他的功能是在太強大了,MCU處理不了的東西他都可以,其實可以組個網(wǎng)絡(luò)所有復(fù)雜的計算都給計算機計算,計算完了下載到各個節(jié)點。但是這還是基于通信的,所以通信啊通信,我發(fā)現(xiàn)我越來越喜歡這個東西了!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:82781 發(fā)表于 2015-6-13 17:03 | 只看該作者
前幾天搞定了發(fā)送數(shù)據(jù)通過以太網(wǎng),發(fā)送ARP命令但是畢竟控制器是主動的啊,所以不牽扯到什么就那么回事,接收就不一樣了,接收有很多數(shù)據(jù)包,每個數(shù)據(jù)包好不一樣,有ARP的TCP的UDP很多,還有個要命的東西就是接收數(shù)據(jù)你怎么吧有用的數(shù)據(jù)抽出來,也是個問題,我選擇了逐個分治,先搞定了數(shù)據(jù)的單個接收,然后昨天開始搞緩沖器,一直不理想,丟包,PC發(fā)來的包都丟了,本來打算采用這種方法:接收N個包,然后讀包,檢索,然后在開啟接收在處理,可是不行這樣應(yīng)為接收是隨即的,他隨時都可能發(fā)數(shù)據(jù)包,你處理的時候他如果發(fā)包你就沒辦法接收到,所以不可行,然后又想到的是輪訓(xùn)調(diào)度,兩個緩存互為備用,結(jié)果可被KO,愿意很簡單,更新的時候還是要關(guān)閉接收,還是不行,直到現(xiàn)在采用的是”狗追雞“,”狗追雞“就是說只用一塊緩存,大小任意,指定兩個界限,接近第一個界限時程序切換到第二個界限,接近第二個界限時切換第一個界限,一次往復(fù),讀得時候也可以寫,但是永遠(yuǎn)不相交這兩個區(qū)域,所以就實現(xiàn)了數(shù)據(jù)包邊接受邊處理,處理不會影響接收,接收不收處理制約的現(xiàn)象,就是我們想要的,我對他的可靠性和準(zhǔn)確行經(jīng)行這樣的測試,:首先PC發(fā)送數(shù)據(jù)到控制器,控制器檢索是不是ARP請求如果是ARP請求,就發(fā)送一個應(yīng)答,在PC端進(jìn)行監(jiān)控發(fā)送和接受的數(shù)據(jù)包,看看如果PC每發(fā)送一個ARP請求,那么主控制器必須給一個回應(yīng),其他全錯,結(jié)果令人可喜的是PC每法送一個ARP請求控制器都給了一個響應(yīng),哈哈,證明我沒有丟包,因為就是丟了一個包也會使ARP請求不對齊,哈哈,哦哦。。。〖佑停。!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表