完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想使用 Wemos D1 Mini 来监控 SPI 连接并通过 WiFi 发送数据。
不幸的是,如果有中断触发,我似乎无法让 ESP 连接到 WiFi。 我已经尽可能地减少了我的代码,目前我只是将一个 6.7kHz 信号放入 D1 的 D1 引脚,并试图让它计算脉冲并将数字输出到串行。 它工作了大约 10 秒钟,然后崩溃了。 这是我的代码: 代码:全选#include const char* ssid = "SSID"; const char* password = "PASSWORD"; long nextPrint = 1000; // when to print the next message to serial const int CLKPin = 5; // Pin connected to CLK volatile long ClkCount = 0; // number of times clock interrupt has fired void setup() { Serial.begin(115200); long startTime = millis(); WiFi.begin(ssid, password); // Connect to the network Serial.print("Connecting to "); Serial.print(ssid); Serial.println(" ..."); while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect delay(500); Serial.print("."); } Serial.println("Connected to wifi"); //Setting up interrupt ISR on D2 (INT0), trigger function "CLK_ISR()" when INT0 (CLK)is rising attachInterrupt(digitalPinToInterrupt(CLKPin), CLK_ISR, RISING); //Set the CLK-pin to input pinMode(CLKPin, INPUT); } void loop() { if (millis() > nextPrint) { String msg = "Freq is: "; Serial.print("Freq is: "); Serial.println(ClkCount); ClkCount = 0; nextPrint += 1000; } yield(); } void CLK_ISR() { ClkCount++; } 输出: 代码:全选Connecting to SSID ... .Connected to wifi Freq is: 1 Freq is: 1 Freq is: 0 Freq is: 0 Freq is: 1 Freq is: 0 Freq is: 2313 Freq is: 6667 Freq is: 6666 Freq is: 6667 Freq is: 6667 Freq is: 6667 Freq is: 6667 Freq is: 6667 Freq is: 6667 Freq is: 6667 Exception (0): epc1=0x40202034 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000 ctx: sys sp: 3ffffc40 end: 3fffffb0 offset: 01a0 >>>stack>>> 3ffffde0: 401067da 00000026 00000000 00000001 3ffffdf0: c0017025 3ffe8d04 3ffee188 00000001 3ffffe00: 00000003 00000008 3ffee99c 00000022 3ffffe10: 3fffc200 401067a0 3fffc258 4000050c 3ffffe20: 40004384 00000030 00000012 ffffffff 3ffffe30: 60000200 00000006 30043003 80000000 3ffffe40: 20000000 3fff0c38 80000000 203fc120 3ffffe50: 00000000 3fffc6fc 00000001 3fff0c3c 3ffffe60: 00000154 003fc120 60000600 00000030 3ffffe70: 40106845 00000080 00000022 3fffc200 3ffffe80: c0017025 3fffc258 4000050c 00000022 3ffffe90: 3fffc200 401067a0 3fffc258 00000022 3ffffea0: 3fffc200 401067a0 3fffc258 4000050c 3ffffeb0: 40202b20 00000030 00000012 ffffffff 3ffffec0: 40000f49 3ffee9e8 00000000 3fffd9d0 3ffffed0: 00000000 00000000 00000000 fffffffe 3ffffee0: ffffffff 3fffc6fc 00000001 3fffdab0 3ffffef0: 00000000 3fffdad0 3ffee9e8 00000030 3fffff00: 3ffee99c 0000000a 3ffe8bc8 402094cc 3fffff10: 00000000 400042db 3ffeff84 40104580 3fffff20: 40004b31 3fff0b84 000001f4 003fc080 3fffff30: 40105aac 000001f4 3ffed190 401004f4 3fffff40: 40106e4d 3fff0b84 00000000 00f8676f 3fffff50: 3ffe8bc8 3ffe8d04 3ffed190 40224d02 3fffff60: 40223d49 40223d52 3ffed004 3ffee1b0 3fffff70: 40228445 3ffed004 3ffee1b0 00f857fe 3fffff80: 4022848a 3fffdab0 00000000 3fffdcb0 3fffff90: 3ffee1c8 3fffdad0 3ffee9e8 40202b43 3fffffa0: 40000f49 40000f49 3fffdab0 40000f49 << ets Jan 8 2013,rst cause:2, boot mode:(1,6) ets Jan 8 2013,rst cause:4, boot mode:(1,6) wdt reset 我看不出如何使这段代码更简单。 我做错了什么,或者如果每秒触发多次中断,ESP8266 是否无法保持与 WiFi 的连接? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
968 浏览 1 评论
553浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
418浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 15:02 , Processed in 0.981949 second(s), Total 72, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号