问题标签 [esp32]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
71 浏览

arduino - 中断例程不能处理向数组添加变量吗?

我有 2 个输入引脚作为中断连接在一起,1 个用于高沿触发,1 个用于 VPW 信号的低沿触发。两个中断程序是相同的,一个在高电平启动一个定时器,另一个在低电平启动一个定时器。这是高中断程序:

这有效,因为另一个CountL()中断启动了计时器,但是如果我添加

到例行公事。而且我必须在中断结束后以常规循环添加到数组中。如何将这一行添加到中断中?

0 投票
3 回答
27001 浏览

arduino - 如何在 ESP32 中禁用“中断看门狗”或增加 ISR 时间限制?

我正在使用ESP32 DEVKIT 链接Adafruit VS1053 Codec + MicroSD Breakout - MP3/WAV/MIDI/OGG Play + Record - v4 链接来录制然后播放声音。我正在使用 Arduino IDE 进行编码。

我现在面临一个问题,模块使用硬件中断进行播放。但是当我尝试播放音轨时,ESP32 会一次又一次地重置。调试日志说:

该行Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)表示其中断 wdt。

我搜索了禁用中断 WDT 的方法,但没有帮助。中的文件esp_int_wdt.h提供 ~Documents\Arduino\hardware\espressif\esp32\tools\sdk\include\esp32了两个函数来启用两个或一个 CPU 的中断 WDT。没有禁用它的功能。

如何禁用 ESP32 中断 WDT?

0 投票
1 回答
508 浏览

eclipse - Eclipse TM 终端:ESP32 串口终端

我尝试使用 Eclipse TM 终端与我的 ESP-32 进行通信。但是,在某些时候,它开始不会转移到行开头。它看起来像这样: 在此处输入图像描述

改变Line ending for UART output不会改变任何东西。我怎样才能得到这个工作?

UPD:一切都很好,但重新连接设备后我又遇到了同样的问题。

0 投票
1 回答
256 浏览

c++ - Dragino LG01-S 收到异常数据包并停止工作

我遇到了 Dragino LG01-S 和 Heltec WiFi LoRa 32 之间的连接问题。

WiFi LoRa 32 每 5 秒向 LG01-S 发送带有温度数据的数据包。LG01-S 不断收到数据包,但一段时间后(可能是 20 分钟,可能是 7 小时),它会收到一个与其他数据包不同的数据包。我在串行监视器中跟踪数据包,直到出现一个失败的数据包,这就是我看到它们的样子。

“失败”的数据包如下所示:

¹h260äàŽÛNR·à,ªê@��ö9AÚ�o...Œ?£ÚK;ËÍ×.Ü*!®d§" ¿'ZoL

通常它是这样的:

30.00

通常数据包的大小是 5 个字节,而失败数据包的大小是 73 个字节。

失败出现在接收器(LG01-S)中,因为在失败的数据包出现后,它只是停止接收任何数据并且根本不执行任何代码。失败后 LoRa32 继续发送数据包。

我检查了失败是否一致,但它们不是,如前所述,它们发生在不同的时间。

您可以在下面看到发送方和接收方的代码。

发件人

接收者:

感谢您的帮助。

0 投票
1 回答
520 浏览

c - 使用 ESP32 写入 I2C EEPROM 页面的问题

我无法使用 ESP32 将多个字节写入 24LC256 EEPROM。

以下函数负责读取和写入 EEPROM。(我知道使用此 EEPROM 的页面写入仅限于 64 字节的增量,此代码仅用于测试)

EEPROM写功能

EEPROM读取功能

奇怪的是,我能够将 13 个字节写入 EEPROM,一切似乎都很好。

但是,当向 EEPROM 写入超过 13 个字节时,顺序读取功能就会出错。

我确信我所做的一切都遵循 24LC256 数据表中的读写规则。有什么我想念的吗?

0 投票
4 回答
5851 浏览

arduino - 有没有办法通过适用于 esp32 的互联网更新固件?

我们可以使用 OTA 更新无线更新固件。但是要更新固件,esp32 设备需要在本地网络上。是否有任何方法或来源来更新不在本地网络上的设备的固件?

0 投票
1 回答
1135 浏览

request - ESP32 WIFI webclient 返回 400 Bad Request

一直试图让这个网络请求工作一段时间,但没有成功。

浏览器上的相同请求效果很好(在 ESP32 生成它时从串行终端复制):caxiasmed.com/esp32/insert.php?jd=1234567&area=Area01&type=h&value=125 欢迎帮助。代码如下。谢谢保罗

当我使用串行控制台运行草图时,我得到了 WiFi 连接的确认。在串行控制台中,当执行以下脚本部分时,我还确认与“主机”的 http 连接成功发生:

出现问题,Web 服务器返回一个 html 格式的错误消息,当执行以下行时,该错误消息将打印在串行控制台上:

此响应包含消息 400 BAD REQUEST,就好像上面的 GET 格式不正确一样。

作为参考,我包括了之前发布的 ESP32 代码实际调用的 insert.php:

正如我所说,如果我从监视正在运行的应用程序的串行终端屏幕复制 GET 请求行并将其粘贴到 Web 浏览器上,它将按照上面的 php 代码成功地将数据插入 SQL 数据库中。

欢迎协助。谢谢保罗博尔赫斯

0 投票
2 回答
1157 浏览

mqtt - 通过 umqtt 将 ESP32 连接到 AWS IoT

我有以下微型 python 代码:

但是当我从 ESP32 上的 repl 运行脚本时,我得到:

文件“umqtt/simple.py”,第 61 行,连接类型错误:给出额外的关键字参数

请提供任何帮助

0 投票
1 回答
277 浏览

python - NameError 在 MicroPython 中使用 time.sleep

抱歉导入整个脚本。由于它很短,我认为能够看到所有这些可能很有价值。我在脚本顶部导入时间,据我所知,所有变量在使用之前都会被引用。

我想将此脚本作为 dht_publish 导入,然后运行 ​​dht_publish.run()。但是,这会产生以下错误。这是在 ESP32 开发板上的最新 MicroPython 二进制文件上运行的。

如果我注释掉 time.sleep(1) 行,则错误会在之前的行上标记,这表明错误可能在代码中的其他地方,但我看不到在哪里。对此的任何帮助将不胜感激。

0 投票
1 回答
312 浏览

freertos - 从另一个任务产生新任务

我正在试验 esp32 和 freertos。我想t2从另一个任务创建一个新任务t1。在t2,我正在for循环打印语句,但for循环在第一次打印后停止打印,ESP32 模块仅在第一次打印后卡住。以下是我正在使用的代码:

上述问题的原因可能是什么?