关于简单的额以太网口实验的问题

找找乐儿 2009-04-19 10:01:37
我打算用easyarm8962这个单片机做一个简单的实验。没有操作系统,就是想通过网线连接电脑网卡和arm板的以太网口,不通过高层协议,通过帧实现通讯。
有一个设备驱动库Stellaris,这里面封装好了很多函数。
比如EthernetPacketPut(ETH_BASE, pucMyTxPacket, ulMyTxPacketLength)函数,就是把指针pucMyTxPacket指向的区域内的长度为ulMyTxPacketLength数据包发送出去。我不明白的就是,要发送一个数据包,是不是需要自己编写一个以太网数据帧。是不是需要编写一个生成数据包的函数(封装)?而我如果接收到一个数据包如何把其中的数据提取出来,是不是也需要编写一个提取数据内容的函数(解封转)?在驱动库里没有这样的函数。
我知道帧的格式,但是还是不会用,不会编写生成数据包的函数,请高手指点,怎样用函数生成一个数据包。比如说我想发送一个字符串hello到12-34-56-78-90-ab的mac地址上,如何编写一个这样一个函数MakePacket(char mac,char data)其中mac为目标地址,data为数据。函数返回一个字符串。
谢谢了,急用,程序没有学好。大家帮帮忙!
...全文
61 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
凤朝凰 2009-04-21
  • 打赏
  • 举报
回复
准备一块内存按写协议格式把该填的数据填进去应该就可以了吧。
不过肯定是很烦的,建议还是使用协议栈。
小赌移情 2009-04-21
  • 打赏
  • 举报
回复
直接搞, 這樣做我也弄過, 很煩的, 建議用uip/lwip 尺寸心也很小, 基本上跟自己寫的差不多, 用起來方便多了.
morris88 2009-04-20
  • 打赏
  • 举报
回复
哎,先看看 《tcp/ip详解》第1卷:协议吧...
robertliu 2009-04-20
  • 打赏
  • 举报
回复
要有协议栈的。不是直接MAC层就可以收发的。应该有相应的例子。

27,509

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧