代码之家  ›  专栏  ›  技术社区  ›  NetworkStudent

如何通过Lwip/STM32发送以太网数据包?

  •  1
  • NetworkStudent  · 技术社区  · 4 年前

    我在STM32 HAL库中使用Lwip,Ethernet TCP堆栈。当我从计算机发送ping请求时,STM32成功地回复了此请求。但我想通过lwIP/以太网发送数据。

    static unsigned char*FrameBuffer [21 + 36]

    我想通过以太网发送帧缓冲区。我发现 static err_t low_level_output(struct netif *netif, struct pbuf *p) lwip堆栈中的函数,但我没有使用它。如何通过以太网发送数据?

    此文件中的低电平输出函数: http://www.cs.utexas.edu/~acharya/Tools/ns3/ns-allinone-3.5/nsc-0.5.0/lwip-1.3.0/src/netif/ethernetif.c

    void
    uip_send(const void *data, int len)
    {
      if(len > 0) {
        uip_slen = len;
        if(data != uip_sappdata) {
          memcpy(uip_sappdata, (data), uip_slen);
        }
      }
    }
    

    以及使用:

        uip_send( ucTCPResponseFrame , ucTCPResponseLen );
    

    在lwip中,这相当于什么?

    0 回复  |  直到 4 年前