|
我打算用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为数据。函数返回一个字符串。
谢谢了,急用,程序没有学好。大家帮帮忙!
|
|