利用单片机和ENC28J60实现TCP数据发送,现在有个问题是数据太长,我是存在EEPROM的,直接读取,再发送回有问题,需要将数据分N次读出,然后存到ENC28J60的发送缓冲区,然后再一次性发送出去,我在驱动中试了改几下,不能实现,望有高人指教啊!下面是发送的程序。我是结合uip0.9进行的。
|
ENC28J60 发送缓冲区的写入?

关键词: ENC28J60 发送 缓冲区 写入

1.我在example0.c中的代码,判断如果收到的是'C'那么就会调用一次 uip_send()我看了那个uip_send函数就是把数据、长度这两个的值赋给uip_appdata、以及uip_len。这个时候是如何进行发送的呢?难道是当uip_send函数将数据指针设置后(此时uip_len就大于0了),然后通过uip_periodic()这个来发送数据的?还是另有途径呢?
2.如果我现在想在uip收到数据后,然后发送一串很长的数据,由于受单片机的RAM限制,我只能在网卡驱动函数中修改,在里面不断的读取EEPROM中的数据并送到网卡的缓冲中,当把所需要的数据读取到网卡的缓冲中后,再执行发送命令。这样就可以将数据发送出去了。但是有一个问题,在发送的数据中有IP头、TCP头之类的东东,这些东东放在哪里了?那些里面包含了数据的类型、数据长度等,这个我在哪里修改?我才是在packet里面,packet是uip_buf映射过来的,我分析了下uip_buf的结构发现前40字节好像是头信息,现在就是搞不明白这40字节里面那几个字节是数据长度的信息,希望指点下,这40个字节是如何分布的。我看了IP TCP协议,但是还是没有弄明白啊··
2.如果我现在想在uip收到数据后,然后发送一串很长的数据,由于受单片机的RAM限制,我只能在网卡驱动函数中修改,在里面不断的读取EEPROM中的数据并送到网卡的缓冲中,当把所需要的数据读取到网卡的缓冲中后,再执行发送命令。这样就可以将数据发送出去了。但是有一个问题,在发送的数据中有IP头、TCP头之类的东东,这些东东放在哪里了?那些里面包含了数据的类型、数据长度等,这个我在哪里修改?我才是在packet里面,packet是uip_buf映射过来的,我分析了下uip_buf的结构发现前40字节好像是头信息,现在就是搞不明白这40字节里面那几个字节是数据长度的信息,希望指点下,这40个字节是如何分布的。我看了IP TCP协议,但是还是没有弄明白啊··
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 |