OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4536|回复: 2

STM32无操作系统UDP接收不到数据 帮忙看看吧

[复制链接]

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
发表于 2017-5-9 16:42:16 | 显示全部楼层 |阅读模式
10金钱
主函数是这样子的
int main(void)
{

  /* USER CODE BEGIN 1 */
        struct udp_pcb *Udp_pcb;
        err_t err;
  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* Configure the system clock */
  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART3_UART_Init();
  MX_LWIP_Init();  /

  /* USER CODE BEGIN 2 */
        udp_init();
        Udp_pcb=udp_new();    //建立一个PCB模块
                err=udp_bind(Udp_pcb,IP_ADDR_ANY,8080);//绑定本地IP和端口
                        udp_recv(Udp_pcb,udp_receive_callback,NULL);       
       
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */       
                MX_LWIP_Process(); //有数据进来就放入pbuf...

  }
  /* USER CODE END 3 */

}

接收回调函数为
void udp_receive_callback(void *arg,struct udp_pcb *upcb,struct pbuf *p,const ip_addr_t *addr,uint16_t port)
{
        printf("here\r\n");
        ip_addr_t destAddr = *addr;
        if(p != NULL)
        {
                udp_sendto(upcb,p,&destAddr,port);  //回传数据
                pbuf_free(p);
        }
       
}

然后用单片机多功能调试助手能连接和发送,不能收到回传数据,改其他端口,居然也能打开,瞬间崩溃,用printf跟踪,程序并没运行到udp_receive_callback,请问是哪里的问题啊,感谢

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

23

主题

69

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-1-5
在线时间
50 小时
 楼主| 发表于 2017-5-9 16:46:30 | 显示全部楼层
这里写的是UDP服务器,程序哪里有问题大家指出来
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-5-10 01:21:37 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 10:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表