硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2657|回复: 8
收起左侧

[FreeRTOS-TCP] recv函数阻塞无法跳出

[复制链接]

12

主题

32

回帖

68

积分

初级会员

积分
68
发表于 2021-7-21 16:12:09 | 显示全部楼层 |阅读模式
请教以下,我用的是FreeRTOS系统,植入BSD Socket,却一直阻塞在该recv函数,发送数据后也无法跳出,在BSD_RCVTOUT设置20ms的时间也没用。我把C/C++的,__RTX去掉,不进行阻塞,有时又可以跳出,并接收到数据,说明初始化没问题,实在搞不懂,请各位大神指教一下?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2021-7-21 16:56:22 | 显示全部楼层
看你发的帖子是FreeRTOS-TCP分类,而你咨询的问题貌似是TCPnet。

如果你咨询的问题是TCPnet的话,请使用RTX版配套TCPnet,使用FreeRTOS有时候有些奇葩问题。方便排查问题。



回复

使用道具 举报

12

主题

32

回帖

68

积分

初级会员

积分
68
 楼主| 发表于 2021-7-21 17:33:47 | 显示全部楼层
嗯!是那个文档,都跟据那个移植,他就是卡死在那,找个半天都是懵逼?有没有点提示。
回复

使用道具 举报

12

主题

32

回帖

68

积分

初级会员

积分
68
 楼主| 发表于 2021-7-21 17:41:08 | 显示全部楼层
eric2013 发表于 2021-7-21 16:56
看你发的帖子是FreeRTOS-TCP分类,而你咨询的问题貌似是TCPnet。

如果你咨询的问题是TCPnet的话,请使用 ...

嗯!用的就是那个,有没有啥办法排查那种问题?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2021-7-21 18:33:38 | 显示全部楼层
su6666 发表于 2021-7-21 17:41
嗯!用的就是那个,有没有啥办法排查那种问题?

跑我的原始例子正常吗
回复

使用道具 举报

12

主题

32

回帖

68

积分

初级会员

积分
68
 楼主| 发表于 2021-7-22 10:44:43 | 显示全部楼层
eric2013 发表于 2021-7-21 18:33
跑我的原始例子正常吗

大佬没问题,跟你的区别可能就是版本号有点不一样,是不是这个原因?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2021-7-22 14:18:37 | 显示全部楼层
su6666 发表于 2021-7-22 10:44
大佬没问题,跟你的区别可能就是版本号有点不一样,是不是这个原因?

你的用的那个版本的。
回复

使用道具 举报

12

主题

32

回帖

68

积分

初级会员

积分
68
 楼主| 发表于 2021-7-22 14:33:55 | 显示全部楼层
eric2013 发表于 2021-7-22 14:18
你的用的那个版本的。

发现问题,版本没问题,Net_lib.c的
__used void bsd_resume (U8 tsk_id) {
  /* Resume a task waiting for a socket event. */
//  if (tsk_id) {
//    os_evt_set (0x8000, tsk_id);
                xSemaphoreGive(bsd_sem);
//  }
}
那个if(tsk_id)没屏蔽
回复

使用道具 举报

12

主题

32

回帖

68

积分

初级会员

积分
68
 楼主| 发表于 2021-7-22 14:34:22 | 显示全部楼层
eric2013 发表于 2021-7-21 18:33
跑我的原始例子正常吗

多谢大佬
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-1 20:16 , Processed in 0.175756 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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