关于 lwip 应用在 stm32f407ig 与上位机 的通信 简要 说明

来源:互联网 发布:vb.net中declare 编辑:程序博客网 时间:2024/06/11 14:36

     由于 本人是菜鸟中的菜鸟 所以    光看 lwip  就看了 好久   此时 对于 f407  知道的  只是 以太网控制器 什么 dma   什么中断  什么   systick  尼玛 压根啥都不懂,  所以后来 一边学 vb.net  一边学 lwip  一边学 硬件 f407   后来   去图书馆 发现  vb.net  的 关于 网络通信的太少  但是  发现 c#。net   的特别多   此时 vb 貌似 看了  半年  几乎 就是  看了 菜鸟级别的 东西 因为 以前没学过 vb .net   好在 c c++ 学过 一点   C51 也学过一点    反正 现在结结巴巴 能     上下位机通信  注意 (一开始 用的周立功的  tcp  啥的   速度 最快就300 多 kb   怎么调 都调不通 )  然后 我  就 看 c#。net  这边 找找 那边 找找     一开始 当然 是上位机和上位机 的 client  与 server    先试试看能不能  通     反正试了  能够 通    此时 只知道  是 通了  但是   啥  异步 同步  线程  等等 啥都不懂  接着 就饿补 。。。。。。。  n 天之后   终于 懂点 皮毛  反正 上位机  就那样    不能喝专业 的  编程 人员 相比  ,,,,,,,, 此处省 去 1 万字   

   好了  好了     反正 我 这一年 就是看程序  看   vb 。net  看 c#.net   看 lwip    看 stm32   头晕了     尤其  lwip   我 真他妈啥 我   一开始 是  lwip    语句 是一句一句 的看  他奶奶 的 浪费了  不知道 多少 功夫  关键 现在 也是 一知半解。。。。。。  所以   所以   不管了     能怎样就怎样谁让 哥们 脑袋笨 呢  对吧   ,,  ,,

     下面讲讲  要点了      lwip    stm32  看了  移植 半解后   我就   在 echo server  上 修改 了  其实菜鸟都会  我就说个思路    接受     改成 以太网中断 的方式   发送  就在循环里面

tcp_write()  tcp_output()    我里面 是1024  字节 一次 写 入 ,,,,,,   然后 lwip  里面  我没改什么 就是  这 看看 那看看 我现在的 配置是 mss 1500   send_buf  6*mss   twnd  4096       

  上位机  用的阻塞的形式  因为下位机  貌似也堵塞 吧     (不太懂其实)   在加入一些  线程 之类的东西  不然  窗口   就被 一个 操作给   堵死  

     刚刚试了 下   10 s   大概 接受 了11,159KB   11M  吧  等于 1M/S          ,,,,,,, 

    希望 有 高手指点 一二     上下位机  lwip    tcp _write()  tcp_output()     我 放一起 行吗??????????????? 

 写这篇文章 已有时日  ,今天再次翻开以前写的博客,想想当时啥都不懂, 到现在 还是处于皮毛之间,嘿嘿感慨颇多,好在网络上下位机最后高出来,也算交差了,

主要 注意点,(1)硬件上用的dp83848和stmf439 ,现在用的是这个版本,其中dp83848 电路设计这块要注意 滤波电容 rj45 要与dp靠近一些,这里不多说了,(2)就是下位机软件lwip 这里 ,我用的是裸机所以没有现成的接口函数要自己慢慢的调试,注意 里面有个opt.h这个需要自己配置,像 mem-size 啥的  还有发送的接受可以用中断的方式,period 周期执行函数可以用定时器来执行,这样比较有效率 不要一直放在主函数的while里面具体的  tcp udp ip arp mac phy application 自己有时间深入研究把。(3) 上位机现在网络上最多的就是c#的socket编的在我的下载资源里面就有,我用的 异步,还有接受处理的函数和下位机的函数要联合调试,在调试过程中我用到了wireshark  他可以抓包,来帮助你解决遇到的问题,这个软件在我的下在里面应该也有。

最后祝大家都能够成功,还有arm  cortex m4  也要仔细学学 

原创粉丝点击