完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有 2 个ESP8266相互通信,一个是客户端,一个是服务器。
我注意到他们在大约 2-5 分钟后断开了连接,所以我检查了堆。客户端从堆计数 45568 减少到 512 左右,然后失去与服务器的连接。服务器的堆是稳定的。 我想我已经将问题隔离到一段代码中: 代码:全选while (!client.connect(server, 80)) { Serial.println("Connection to server failed"); delay(1000); } 当这部分在主循环中时,内存泄漏。当上面的代码片段在设置循环中时,内存不会泄漏,但客户端也不会连接到服务器。任何见解将不胜感激。 我的第一次内存泄漏!万岁!:/ 这是完整的代码: 代码:全选#include #include extern "C" { #include "user_interface.h" } long last_output = 0; String val4; String val5; byte ledPin = 2; int clientConnected; char ssid[] = "xx"; // SSID of home WiFi char pass[] = "xxx"; // password of home WiFi unsigned long askTimer = 0; IPAddress server(192,168,1,213); // fixed IP of ESP server WiFiClient client; void setup() { Serial.begin(115200); // only for debug WiFi.begin(ssid, pass); // connects to the WiFi router while (WiFi.status() != WL_CONNECTED) { // checks for WiFi connection Serial.println("."); delay(500); } delay(1000); Serial.println("WiFi connected: "); Serial.print("MAC: "); Serial.println(WiFi.macAddress()); Serial.println("Hello, I am the joystick!"); delay(1000); // lines 42 - 45 are a memory leak problem in the main loop while (!client.connect(server, 80)) { // line 42 Serial.println("Connection to server failed"); delay(1000); } pinMode(0, OUTPUT); // LED pinMode(ledPin, OUTPUT); // LED pin 2 pinMode(4, INPUT_PULLUP); // + input to U6, up/down motor pinMode(5, INPUT_PULLUP); // - input to U6 } void loop () { if (millis() - last_output > 1000) // compare diff of now vs. timer { uint32_t free = system_get_free_heap_size(); // get free ram Serial.println(free); // output ram to serial last_output = millis(); // reset timer } val4 = digitalRead(4); // read the input pin val5 = digitalRead(5); // read the input pin client.println(val4); client.println(val5); client.println('y'); // server look for 'y' } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
733 浏览 1 评论
552浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
445浏览 5评论
446浏览 4评论
417浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 04:47 , Processed in 0.873142 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号