完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当我在 D1 mini 上运行以下草图并连接到它托管的 AP 时,它开始按预期发送 UDP 数据包,但随后随机崩溃。有时几秒钟,有时几分钟。这只是使用未经修改的 D1 mini 通过 USB 插入我的笔记本电脑。
我究竟做错了什么? 这是草图: 代码:全选#include #include WiFiUDP udp; void setup() { Serial.begin(9600); WiFi.mode(WIFI_AP); if (!WiFi.softAP(\"crash\",0,1,false,4)) Serial.println(\"WiFi.beginAP failed\"); IPAddress ip = WiFi.softAPIP(); udp.begin(2000); } void loop() { if (WiFi.softAPgetStationNum() == 0){ Serial.print(\".\"); return; } char rgb[500]; udp.beginPacket(IPAddress(192,168,4,2), 2000); udp.write(rgb, 500); udp.endPacket(); Serial.print(\"x\"); } 这是一个典型的崩溃:异常 0:非法指令 PC:0x40230188 EXCVADDR:0x00000000 解码堆栈结果 0x40204b48:check_poison_block(umm_block*) at C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2。 5个.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 行 860 0x40204b96: get_unpoisoned(void*) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266 \\umm_malloc\\umm_malloc.cpp 第 950 行 0x40218181:ip4_input 在 core/ipv4/ip4.c 第 499 行 0x40218155:ip4_input 在 core/ipv4/ip4.c 第 466 行 0x40203cf8:malloc_loc(size_t, char const*, int) 在 C:\\ Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp 第 126 行 0x40203c55: malloc(size_t) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp 第 95 行 0x40204d8c: umm_malloc(size_t) 在 C : \\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp line 1685 0x40203c55: malloc(size_t) at C:\\Users\\edf\\AppData\\ Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp line 95 0x40218ffc: mem_malloc at core/mem.c line 210 0x40204fa8: free(void*) at C:\\Users\\edf \\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 第 1764 行 0x40204880: _umm_free(void*) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 第 1304 行 0x40210761: ethernet_input_LW IP2 在 netif / ethernet.c 第 188 行 0x40210597:esp2glue_ethernet_input 在 glue-lwip/lwip-git.c 第 441 行 0x4022f32a:ethernet_input 在 glue-esp/lwip-esp.c 第 363 行 0x4022f33b:ethernet_input 在 glue-esp/lwip-esp.c 行371 0x40203460: ets_printf_P(char const*, ...) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\core_esp8266_postmortem.cpp line 80 0x40203454: ets_printf _P (char const*, ...) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\core_esp8266_postmortem.cpp 第 80 行 0x401001bc: vPortFree(void*, char const*, int) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp 第 61 行 0x40210240 : dhcp_start at glue-esp/lwip-esp.c line 423 0x402034ae: print_stack(uint32_t, uint32_t) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266 \\core_esp8266_postmortem.cpp 第 197 行 0x4020365c: __wrap_system_restart_local() 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\core_esp8266_postmortem.cpp 第 1 行75 0x40201b31: Udp上下文 : :_s_recv(void*, udp_PCB*, pbuf*, ip4_addr const*, unsigned short) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\libraries\\ESP8266WiFi\\src /include/UdpContext.h 第 475 行 0x40204b48: check_poison_block(umm_block*) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp line 860 0x40204b96: get_unpoisoned(无效 * ) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 第 950 行 0x40218181: ip4_input at core/ipv4/ip4.c 行499 0x40218155: ip4_input at core/ipv4/ip4.c line 466 0x40203cf8: malloc_loc(size_t, char const*, int) at C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5。 2\\cores\\esp8266\\heap.cpp line 126 0x40203c55: malloc(size_t) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp第95行 0x40204d8c: umm_malloc(size_t) at C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp line 1685 0x40203c55: malloc(size_t) at C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\heap.cpp 第 95 行 0x40218ffc:mem_malloc 在 core/mem.c 第 210 行 0x40204fa8:免费(无效*) 在 C:\\Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 第 1764 行 0x40204880: _umm_free(void*) 在 C: \\ Users\\edf\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.2\\cores\\esp8266\\umm_malloc\\umm_malloc.cpp 第 1304 行 0x40210761:netif/ethernet.c 第 188 行的 ethernet_input_LWIP2 0x40210597: esp2glue_ethernet_input 在 glue-lwip/lwip-git.c line 441 0x4022f32a: ethernet_input 在 glue-esp/lwip-esp.c line 363 0x4022f33b: ethernet_input 在 glue-esp/lwip-esp.c line 371 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1014 浏览 1 评论
559浏览 6评论
466浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
451浏览 5评论
450浏览 4评论
425浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 17:43 , Processed in 0.645893 second(s), Total 43, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号