找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3350|回复: 1
打印 上一主题 下一主题
收起左侧

以太网端的上位机程序设计

[复制链接]
跳转到指定楼层
楼主
ID:82781 发表于 2015-6-13 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  这些日子有点累了,得先放一放,好好休息休息,可喜的是我心中已经大体有个思路了,比起先前小白现在好多了,是这样的思路:
   上位机端也就是服务器端只要加载一个WIN_32.lib库就可以使用socket进行编程,而他是面向TCP和UDP的哈哈正合我意,就用套接字编写上位机程序,然后使用UDP/IP协议这个在客户端实现是没问题的,就剩下这个服务器端的程序,因为这次要用C编程所以真的还是头一次,先计划做个DOS下的数据的交互在考虑网页控制,只要能实现UDP数据通信我就烧高香了,PC下编程主要还是API和C语言的功底,什么结构、联合、枚举、多重指针,重入,类、进程、线程、句柄、消息、消息队列、各种宏定义,不过微软有个参考文档,英文不行还真他妈的坑爹啊。不得不学习PC下编程,他的功能是在太强大了,MCU处理不了的东西他都可以,其实可以组个网络所有复杂的计算都给计算机计算,计算完了下载到各个节点。但是这还是基于通信的,所以通信啊通信,我发现我越来越喜欢这个东西了!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:82781 发表于 2015-6-13 17:03 | 只看该作者
前几天搞定了发送数据通过以太网,发送ARP命令但是毕竟控制器是主动的啊,所以不牵扯到什么就那么回事,接收就不一样了,接收有很多数据包,每个数据包好不一样,有ARP的TCP的UDP很多,还有个要命的东西就是接收数据你怎么吧有用的数据抽出来,也是个问题,我选择了逐个分治,先搞定了数据的单个接收,然后昨天开始搞缓冲器,一直不理想,丢包,PC发来的包都丢了,本来打算采用这种方法:接收N个包,然后读包,检索,然后在开启接收在处理,可是不行这样应为接收是随即的,他随时都可能发数据包,你处理的时候他如果发包你就没办法接收到,所以不可行,然后又想到的是轮训调度,两个缓存互为备用,结果可被KO,愿意很简单,更新的时候还是要关闭接收,还是不行,直到现在采用的是”狗追鸡“,”狗追鸡“就是说只用一块缓存,大小任意,指定两个界限,接近第一个界限时程序切换到第二个界限,接近第二个界限时切换第一个界限,一次往复,读得时候也可以写,但是永远不相交这两个区域,所以就实现了数据包边接受边处理,处理不会影响接收,接收不收处理制约的现象,就是我们想要的,我对他的可靠性和准确行经行这样的测试,:首先PC发送数据到控制器,控制器检索是不是ARP请求如果是ARP请求,就发送一个应答,在PC端进行监控发送和接受的数据包,看看如果PC每发送一个ARP请求,那么主控制器必须给一个回应,其他全错,结果令人可喜的是PC每法送一个ARP请求控制器都给了一个响应,哈哈,证明我没有丢包,因为就是丢了一个包也会使ARP请求不对齐,哈哈,哦哦!!!!加油!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表