嵌入式技术论坛
直播中

laisvl

9年用户 1144经验值
私信 关注
[问答]

AT组件中的at_skt0 等等的信号量是什么情况下产生的?怎么产生的?

我用了AT Client组件和EC20包,启动后一段时间工作是正常的,我的操作方式是从设备发送数据前打开socket,发送和接收完就关闭socket,但是正常工作一段时间以后,不一定是多长时间,socket打开就不正常了,然后就会多出几个at_skt0,at_skt1等等的信号量,有的时候我的线程还会挂起在这些信号量上,我在工程里搜也没有搜到相关的定义和内容,请问这些信号量是什么情况下产生的?怎么产生的?我想看看为什么过段时间我的socket就打不开了,多谢。。。。
1.jpg

回帖(1)

HCPcry

2023-5-11 09:58:16
这个信号量直接搜不到的原因是临时拼接成的
rt_snprintf(name, RT_NAME_MAX, "%s%d", "at_skt", idx);
信号量的创建在 components/net/at/at_socket/at_socket.c 中的 alloc_socket_by_device 函数;
而信号量的释放 是在 at_recv_notice_cb 函数。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分