完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我写了一个代码,将传感器数据发送到 matlab 并将其保存在那里用于绘图等。
我的问题是我想要至少 10 毫秒的发送速率,但我能达到的最快传输速率是每个数据包 60-70 毫秒。我已经禁用了 Nagle,但没有任何改变。 我发布相关部分: 代码:全选void loop() { client = server.available(); //Check if client is available if (client) { Serial.println("Client vorhanden"); // while client is connected while (client.connected()) { startStopTransmission(); if (transmission) { if (tenmsFlag) { readSensorData(); double Values[] = {acc_x, acc_y, acc_z, eul_x, eul_y, eul_z}; client.write((uint8_t *)Values, sizeof Values); client.flush(); tenmsFlag = false; } } } } } 库中似乎存在硬编码延迟。 |
|
相关推荐
1个回答
|
|
直接通过 USART 发送 AT 命令,您不受任何库的约束,我保证它易于使用。Espressif 有很多文件一步一步解释。但请注意,制造商本身指定了通过 TCP/UDP 发送数据的命令之间的值 20ms。即便如此,时间也已经大大减少了。
参加考试。通过串行“ATrn”或“ATnr”发送,两者都可以。发送命令后,从 Usart 读取数据并使用“println”打印它们。收到的字必须是“OK”。不要忘记正确设置模块的波特率(出厂默认值 115200)。一旦你能够执行这些步骤,在谷歌上搜索“Esp8266 example at commands”,你会在其中找到如何建立 UDP/TCP 连接。这很简单,最多有 5 个命令来建立连接。 |
|
|
|
只有小组成员才能发言,加入小组>>
1002 浏览 1 评论
554浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
422浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 19:56 , Processed in 1.287084 second(s), Total 79, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号