完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
移植的网上的程序,PC端使用调试助手做服务端,查看可以ping通但是无法建立联系,请问大佬们是什么原因
#include "lwip/netif.h"#include "lwip/ip.h"#include "lwip/tcp.h"#include "lwip/init.h"#include "netif/etharp.h"#include "lwip/udp.h"#include "lwip/pbuf.h"#include #include #include "main.h"static void client_err(void *arg, err_t err) //³öÏÖ´íÎóʱµ÷ÓÃÕâ¸öº¯Êý£¬´òÓ¡´íÎóÐÅÏ¢£¬²¢³¢ÊÔÖØÐÂÁ¬½Ó{ printf("Á¬½Ó´íÎó!!n"); printf("³¢ÊÔÖØÁ¬!!n"); //Á¬½Óʧ°ÜµÄʱºòÊÍ·ÅTCP¿ØÖÆ¿éµÄÄÚ´æ printf("¹Ø±ÕÁ¬½Ó£¬ÊÍ·ÅTCP¿ØÖÆ¿éÄÚ´æn"); //tcp_close(client_PCB); //ÖØÐÂÁ¬½Ó printf("ÖØÐ³õʼ»¯¿Í»§¶Ën"); TCP_Client_Init();}static err_t client_send(void *arg, struct tcp_pcb *tpcb) //·¢Ëͺ¯Êý£¬µ÷ÓÃÁËtcp_writeº¯Êý{ uint8_t send_buf[]= "ÎÒÊǿͻ§¶Ën"; //·¢ËÍÊý¾Ýµ½·þÎñÆ÷ tcp_write(tpcb, send_buf, sizeof(send_buf), 1); return ERR_OK;}static err_t client_recv(void *arg, struct tcp_pcb *tpcb, struct pbuf *p, err_t err){ if (p != NULL) { /* ½ÓÊÕÊý¾Ý*/ tcp_recved(tpcb, p->tot_len); /* ·µ»Ø½ÓÊÕµ½µÄÊý¾Ý*/ tcp_write(tpcb, p->payload, p->tot_len, 1); memset(p->payload, 0 , p->tot_len); pbuf_free(p); } else if (err == ERR_OK) { //·þÎñÆ÷¶Ï¿ªÁ¬½Ó printf("·þÎñÆ÷¶Ï¿ªÁ¬½Ó!n"); tcp_close(tpcb); //ÖØÐÂÁ¬½Ó TCP_Client_Init(); } return ERR_OK;}static err_t client_connected(void *arg, struct tcp_pcb *pcb, err_t err){ printf("connected ok!n"); //×¢²áÒ»¸öÖÜÆÚÐԻص÷º¯Êý tcp_poll(pcb,client_send,2); //×¢²áÒ»¸ö½ÓÊÕº¯Êý tcp_recv(pcb,client_recv); return ERR_OK;}void TCP_Client_Init(void){ struct tcp_pcb *client_pcb = NULL; //ÕâÒ»¾äÒ»¶¨Òª·ÅÔÚÀïÃæ£¬·ñÔò»áûÓà ip4_addr_t server_ip; //ÒòΪ¿Í»§¶ËÒªÖ÷¶¯Á¬½Ó·þÎñÆ÷£¬ËùÒÔÒªÖªµÀ·þÎñÆ÷µÄIPµØÖ· /* ´´½¨Ò»¸öTCP¿ØÖÆ¿é */ client_pcb = tcp_new(); IP4_ADDR(&server_ip, DEST_IP_ADDR0,DEST_IP_ADDR1,DEST_IP_ADDR2,DEST_IP_ADDR3);//ºÏ²¢IPµØÖ· printf("¿Í»§¶Ë¿ªÊ¼Á¬½Ó!n"); //¿ªÊ¼Á¬½Ó tcp_connect(client_pcb, &server_ip, TCP_CLIENT_PORT, client_connected); ip_set_option(client_pcb, SOF_KEEPALIVE); printf("ÒѾµ÷ÓÃÁËtcp_connectº¯Êýn"); //×¢²áÒì³£´¦Àí tcp_err(client_pcb, client_err); printf("ÒѾע²áÒì³£´¦Àíº¯Êýn");} |
|
相关推荐
1个回答
|
|
|
在STM32F107上使用DP83848和lwIP进行网络通信时,虽然能够ping通,但无法与PC端建立TCP连接,可能的原因有很多。以下是一些常见的问题和排查步骤: 1. 网络配置问题
2. lwIP配置问题
3. TCP客户端代码问题
4. 防火墙和端口问题
5. 硬件问题
6. 调试信息
7. 代码示例以下是一个简单的TCP客户端代码示例,供参考: 8. 进一步调试
通过以上步骤,应该能够逐步定位并解决问题。如果问题仍然存在,建议进一步检查硬件连接和lwIP的配置。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1453 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1502 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3649 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
727浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
661浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
941浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:30 , Processed in 0.778631 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
582