W5500 socket 编程的问题

发布于 2019-11-19 16:56:01    浏览:796



在读取 W5500的时候,WIZ 会在收到数据的时候发送一个信号量,但是如果 PC机器发送过快,会导致出现多余信号量,w5500就会卡死在
int wiz_recvfrom(int socket, void *mem, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen)函数中,是否需要在数据读取完成后,把信号量清零呢?

查看更多

4 个回答
xingyanchen
xingyanchen 2019-11-20
This guy hasn't written anything yet
问题已经解决: 为了保证不出现采集后仍然有信号量的情况
需要在数据采集完成后清除掉所有的信号量。但是切记不要在信号量release的时候处理,否则无法解决问题
Cheney_Chen
Cheney_Chen 2019-11-20
This guy hasn't written anything yet
xingyanchen 发表于 2019-11-20 14:33
问题已经解决: 为了保证不出现采集后仍然有信号量的情况
需要在数据采集完成 ...


如果是软件包问题,楼主解决了是否可以提交 PR 修复一下问题呢,也方面后面其他人使用该软件包
xingyanchen
xingyanchen 2019-11-20
This guy hasn't written anything yet
Cheney_Chen 发表于 2019-11-20 17:34
如果是软件包问题,楼主解决了是否可以提交 PR 修复一下问题呢,也方面后面其他人使用该软件包 ...


我把代码给你可以吗?我不会pr,其实我原来也解决过几个小bug都是因为不知道怎么pr,全是发的帖
tyustli
tyustli 2019-11-20
This guy hasn't written anything yet
xingyanchen 发表于 2019-11-20 19:38
我把代码给你可以吗?我不会pr,其实我原来也解决过几个小bug都是因为不知道怎么pr,全是发的帖 ...

楼主可以尝试学习一下如何提 PR:
https://www.rt-thread.org/docume ... uide/github/github/

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
796

发布
问题

分享
好友

手机
浏览

扫码手机浏览