自己写的串口转以太网程序遇到问题,求高手帮助 !

2019-03-24 16:16发布

 
   targetInit();
  InitNic();
  uartInit();                                             //  UART初始化
 
  IP4_ADDR(&ipaddr,192,168,14,76);      //远程主机地址
 
    UdpPcb = udp_new();
 
  udp_bind(UdpPcb,IP_ADDR_ANY,4000);   // 绑定本地IP地址
 
  udp_connect(UdpPcb,&ipaddr,5000);    // 连接远程主机
 
//  udp_recv(UdpPcb,UDP_Receive,NULL);   // 设置数据接收时的回调函数
   for(;;)
  {   p = pbuf_alloc(PBUF_RAW,sizeof(UARTCharGet(UART0_BASE)),PBUF_RAM);                                   我就改了红 {MOD}的部分。。。。
  p->payload=(void *)(UARTCharGet(UART0_BASE));
   
                          //而且延时要足够的,否则收不到
  Delay(400000UL);    //一定要加延时,否则可能都没绑定就发数据了,就会收不到
  udp_send(UdpPcb,p);
  pbuf_free(p);   }                   我把UART程序和UDP的程序自己综合了一下,代码如上。 把UART 传来的数据直接给了  p->payload  然后用UDP发送出去。   问题是, 我用TCP/UDP调试助手测试,全部是一位一位的接收的(这个我知道,因为我是接一个发一个)。但是全部都是空信息,或者是乱码。。。 请问是怎么回事呢 ??    我怎样把UART接来的数据通过 UDP发出去呢 ?? 这种方法不对吗 ??? 求高手帮我解答 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
longxtianya
2019-03-25 06:25
http://bbs.eeworld.com.cn/thread-222963-1-1.html
建议你看这个就好了。

一周热门 更多>

相关问题

    相关文章