完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家
好,我有一个传感器,应该每 40 毫秒发送 1KB 数据。我想通过 ESP8266 (Nodemcu) 将它发送到我的笔记本电脑。这是我的代码: 代码:全选#include #include /* Put your SSID & Password */ const char* ssid = "NodeMCU"; // Enter SSID here const char* password = "12345678"; //Enter Password here char Data_mem[10][1024]; uint8_t Data_mem2[10][1024]; int a=0; /* Put IP Address details */ IPAddress local_ip(192,168,1,1); IPAddress gateway(192,168,1,1); IPAddress subnet(255,255,255,0); //ESP8266WebServer server(80); WiFiServer server(80); void setup() { Serial.begin(115200); WiFi.softAP(ssid, password); WiFi.softAPConfig(local_ip, gateway, subnet); delay(100); server.begin(); server.setNoDelay(true);// Don't Permit TCP Buffering Serial.println("HTTP server started"); //Data Init for(int j=0;j<10;j++){ for(int i=0;i<1024;i++) { Data_mem[j]='G'; } } for(int j=0;j<10;j++){ for(int i=0;i<1024;i++) { Data_mem2[j]=10; } } } void loop () { WiFiClient client = server.available(); if (client) { if (client.connected()){ if(a==0){ a=1; for(int j=0;j<10;j++) client.println(Data_mem2[j]); } else{ client.stop(); // terminates the connection with the client } } } } 在此代码中,我有 2 个问题: 1- 如何通过 WiFi 发送 uint8_t 数组?(每个 1KB 数据(=Data_mem[j])应该发送一个单独的数据包) 在这段代码中我得到这个错误: 调用重载的'println(uint8_t [1024])'是不明确的 2-如果我想发送 char 而不是uint8_t,发送的数据。但是收到的不是10 * 1024 =10240位。他们是56320位!(我已经在Word中复制了数据包发送方的接收数据并获得了字符数('G')) 注意发送client.println(Data_mem [0])是正确的并且是1024位。 我需要 uint8_t 数组和 char 数组。 谢谢 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1143 浏览 1 评论
582浏览 6评论
480浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
465浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:43 , Processed in 0.847707 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号