ec20用socket编程,只能用一次send()函数问题请求

发布于 2019-10-10 14:08:12    浏览:991
板子是用的是ec20模块,且初始化都没有问题,用socket编程,时候,send函数运行,第一次用send发送数据没有问题,可是第二次就有问题了就发送失败,报错误是执行AT+QISEND失败。见下图。并且ec20是飞线的,同样的代码,另一个飞线的ec20是没有问题的,关键是,如果飞线有错为啥还可以初始化成功,还有第一次发送是可以的呢?有谁知道
代码如图.png
send执行结果.png

查看更多

10 个回答
tyustli
tyustli 2019-10-10
This guy hasn't written anything yet
相同的模块,一个可以 send, 一个不可以 send ,楼主可以考虑考虑硬件的问题
Cheney_Chen
Cheney_Chen 2019-10-10
This guy hasn't written anything yet
把 RAW 数据打开看看发送和接收的具体数据是否正确吧
小菜鸟爱吃菜
小菜鸟爱吃菜 2019-10-11
This guy hasn't written anything yet
这样子的,可是第一次也是同样的数据和命令啊,为啥可以,这一次,就不行了:(
RAW.png
小菜鸟爱吃菜
小菜鸟爱吃菜 2019-10-11
This guy hasn't written anything yet
Cheney_Chen 发表于 2019-10-10 18:50
把 RAW 数据打开看看发送和接收的具体数据是否正确吧


这样子的,可是第一次也是同样的数据和命令,为啥可以,第二次,就不行了
小菜鸟爱吃菜
小菜鸟爱吃菜 2019-10-11
This guy hasn't written anything yet
tyustli 发表于 2019-10-10 15:43
相同的模块,一个可以 send, 一个不可以 send ,楼主可以考虑考虑硬件的问题 ...


我也觉得可能是硬件问题,可是那个硬件初始化什么的都没问题,第一次发送也没有问题,第二次发送才有问题,按理说初始化的时候也是进行,命令的收发啊
Cheney_Chen
Cheney_Chen 2019-10-11
This guy hasn't written anything yet
楼主可以提供一个完整的日志初始化和数据收发的 RAW 数据日志吗,从现在日志看,这个是你发送命令之后模块给你返回了错误(AT+QISEND 命令返回 ERROR 挺奇怪的,注意一下当前设备网络状态),你可以在 CLI 中逐条输入 AT 命令模拟数据发送,看是否能正常发送
小菜鸟爱吃菜
小菜鸟爱吃菜 2019-10-11
This guy hasn't written anything yet
RAM图
1.png
2.png
3.png
4.png
5.png
6.png
7.png
小菜鸟爱吃菜
小菜鸟爱吃菜 2019-10-11
This guy hasn't written anything yet
    本帖最后由 小菜鸟爱吃菜 于 2019-10-11 18:05 编辑


Cheney_Chen 发表于 2019-10-11 17:30
楼主可以提供一个完整的日志初始化和数据收发的 RAW 数据日志吗,从现在日志看,这个是你发送命令之后模块 .

1.png
2.png
3.png
4.png
5.png
6.png
7.png
Cheney_Chen
Cheney_Chen 2019-10-11
This guy hasn't written anything yet
小菜鸟爱吃菜 发表于 2019-10-11 18:04

从日志上看,猜测可能是因为 socket 创建成功之后立刻去调用发送数据命令会响应错误,你可以试着在 socket 创建和数据发送之间添加一段时间延时,验证一下是不是这个问题
丰行王者
丰行王者 2020-03-04
This guy hasn't written anything yet
您好,请问ec20初始化之后怎么使用函数连接指定的tcp服务器端口。

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览