Ошибка стека ESP32 при чтении с устройства BLE
Я использую этот код здесь для считывания данных с термометра BLE с помощью ESP32.
Код иногда работает нормально, и я могу получить данные:
+ Connect : a4:c1:38:69:0c:ff
* Connected a4:c1:38:69:0c:ff
+ Found our service
+ Found our characteristic
+ Notify callback for characteristic ebe0ccc1-7a0a-4b0c-8a1a-6ff2997da3a6
temp = 21.8 C ; humidity = 48.0 % ; voltage = 2.564 V
* Disconnected a4:c1:38:69:0c:ff
В других случаях я получаю панику ЦП, связанную с ошибкой стека:
+ Connect : a4:c1:38:69:0c:ff
* Connected a4:c1:38:69:0c:ff
+ Found our service
+ Found our characteristic
+ Notify callback for characteristic ebe0ccc1-7a0a-4b0c-8a1a-6ff2997da3a6
temp = 21.8 C ; humidity = 47.0 % ; voltage = 2.564 V
Guru Meditation Error: Core 0 panic'ed (Unhandled debug exception)
Debug exception reason: Stack canary watchpoint triggered (btuT)
Core 0 register dump:
PC : 0x4000c472 PS : 0x00060a36 A0 : 0x8012b791 A1 : 0x3ffcf7e0
A2 : 0x3ffcf7f4 A3 : 0x00000000 A4 : 0x00000268 A5 : 0x3ffcfa14
A6 : 0x3ffde1ad A7 : 0x00000026 A8 : 0x8012987e A9 : 0x3ffd0270
A10 : 0x3ffdb99c A11 : 0x3ffddca8 A12 : 0x3ffd050a A13 : 0x00000001
A14 : 0x00000004 A15 : 0x00000000 SAR : 0x00000010 EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000 LBEG : 0x4000c46c LEND : 0x4000c477 LCOUNT : 0x00000003
ELF file SHA256: 0000000000000000
Backtrace: 0x4000c472:0x3ffcf7e0 0x4012b78e:0x3ffcf7f0 0x40129815:0x3ffcfa80 0x40125e62:0x3ffcfd10 0x401286e8:0x3ffcfd30 0x4012987b:0x3ffcffc0 0x40125e62:0x3ffd0250 0x401286e8:0x3ffd0270 0x4012987b:0x3ffd0500 0x40125e62:0x3ffd0790 0x401286e8:0x3ffd07b0 0x4012940a:0x3ffd0a40 0x40125e62:0x3ffd0a60 0x40129621:0x3ffd0a80 0x40125e62:0x3ffd0aa0 0x4012933d:0x3ffd0ac0 0x40129359:0x3ffd0ae0 0x40125e62:0x3ffd0b00 0x40125fa1:0x3ffd0b20 0x4012fb36:0x3ffd0b40 0x401042a6:0x3ffd0b60 0x4008ff9e:0x3ffd0b90
Rebooting...
Я использую ESP-WROOM-32 с PlatformIO, в чем может быть проблема?
@teemo96, 👍1
Обсуждение1 ответ
▲ 1
Чтобы помочь другим. Я решил эту проблему, используя библиотеку ArduinoBLE вместо библиотеки ESP32_BLE, которую я использовал.
,
@covert
Обычно мы ищем небольшую внутреннюю структуру ответов, а не остроты. Итак, если у вас есть какие-либо полезные детали, которые можно было бы добавить, это было бы неплохо. Но, в противном случае, если это решило это круто. Добро пожаловать в АСЕ., @timemage
Смотрите также:
- Библиотека ардуино или код для ESP32 для сканирования устройств Bluetooth?
- ESP32 запускает BLE после глубокого сна
- ESP32 Arduino Bluetooth Serial не подключается повторно после отключения
- Служба BLE ESP32 не видна Node-RED
- Использование esp-wroom-32 без платы разработки
- Пример кода для ESP32 в качестве медиа-контроллера для Android/iPhone Media Apps
- Не удается включить распознавание лиц на esp32 cam : CORRUPT HEAP: Bad head at 0x3ffe2eb4. Expected 0xabba1234 got 0x00000008 abort()
- Имена синтаксического анализа обнаружения Bluetooth ESP32
проблема может быть в программной ошибке, @jsotola
Та же проблема, но я ее исправляю. Используйте библиотеку https://github.com/h2zero/NimBLE-Arduino., @Dmytro Kadyrov