DSP+BCM5221 网络连接问题

94179411   2009-8-27 18:47 楼主
我用的TI的DM642DSP和BCM5221以太网芯片,进行连网
采用UDP协议,报文头:


  1. typedef union
  2. {
  3.         Uint8 Bytes[6];
  4.         Uint16 Words[3];
  5. }MacAddr;
  6. // Ethernet Header
  7. #define ETHHDR_SIZE     14
  8. typedef struct{
  9.         MacAddr DstMac;
  10.         MacAddr SrcMac;
  11.         Uint16  Type;
  12. } EthHdr, *PEthHdr;
  13. // IP HEADER
  14. #define IPHDR_SIZE      20
  15. typedef struct{
  16.          Uint8  VerLen;      /*version and head length*/   
  17.      Uint8  TypeOfService;           /*Type of Service*/
  18.      Uint16 PacketLen;      /*Packet Length*/
  19.      Uint16 Sequence;       /*Sequence number*/
  20.      Uint16 MarkFragPoi;    /*FlagOff*/   
  21.      Uint8  TTL;           /*Time Life*/   
  22.      Uint8  ProtocolType; /*byProtocolype*/
  23.      Uint16 HeadCheckSum;   /*Check Sum*/
  24.      IPAddr IPSrc;        /*Source IP*/
  25.      IPAddr IPDes;        /*Destinate IP*/
  26.          Uint8 Options[1];
  27. }IPHdr, *PIPHdr;

  28. // UDP HEADER
  29. #define UDPHDR_SIZE     8

  30. typedef struct {
  31.         Uint16   SrcPort;
  32.         Uint16   DstPort;
  33.         Uint16   Length;
  34.         Uint16   UDPChecksum;
  35. } UDPHdr;


用这三个首部依次相连,再加上数据部分,组成一个包发出去
可是在同一个子网内的计算机上根本捕捉不到,子网内使用的是固定IP,192.168.1.x
所以我程序里面也是随意指定的一个未被占用的192.168.1.197
各个首部域检查多次 都是正确的 为什么收不到呢?

回复评论 (3)

顶一下~ 没人做过么?
点赞  2009-8-28 12:54
再顶
点赞  2009-8-28 13:06
搞不好你的5221并没有收到数据...
点赞  2009-8-31 08:50
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复