Size: a a a

ESP8266 & ESP32 [RU]

2021 April 20

ДС

Дмитрий Суверен Живо... in ESP8266 & ESP32 [RU]
Я пробовал делать ты не кидай их все сразу. Минимум delay(10) между пакетами и работать все будет
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
Да. Я понимаю. Но это тестовый стенд. А так я хочу принимать пакеты от can шины автомобиля. (Там то никто не будет ждать пока я все из mcp модуля прочитаю) И сейчас получается что Ардуино может поймать куда больше пакетов от авто чем esp32. Вот я и тестирую с максимально загруженной шиной. С Ардуино кидаю пакеты без делэя и хочу что бы esp32 мог хотя бы 90% пакетов поймать. Вообще у меня подозрение что я не так с spi шиной на esp32 работаю. Так как даже без делэя ловится всего 20% пакетов. (когда я Ардуино подключал к can шине то все работало как надо, по этому сейчас я ее использую как эталон для отправки в тестовом стенде)
источник

ДС

Дмитрий Суверен Живо... in ESP8266 & ESP32 [RU]
Зачем вам так много
источник

ДС

Дмитрий Суверен Живо... in ESP8266 & ESP32 [RU]
Я работаю с кан шиной авто там пакеты от 20 до 2000 мс
источник

ДС

Дмитрий Суверен Живо... in ESP8266 & ESP32 [RU]
Если сделать без задержки рухнет вся система
источник

H

Holodaleksey in ESP8266 & ESP32 [RU]
Ещё раз - ОГРОМНОЕ СПАСИБО!) ясность вроде пришла)
источник

A

Anton in ESP8266 & ESP32 [RU]
Подскажите пожалуйста, как сделать сброс показаний reset energy в модуле PZEM-004T v3.0? Работает в связке с ESP32, прошита esphome. Все работает исправно, в home assistant видится, только сброса показаний нет. Думал сделать выключатель для сброса, как будет выглядеть команда? В инструкции к устройству указано slave address + 0x42 + CRC check high byte + CRC check low byte.
источник

АН

Александр Никулин... in ESP8266 & ESP32 [RU]
Попробуй в обработчике прерываний от mcp читать данные в буфер в памяти. Я сейчас как раз играюсь с mcp2515 у меня при шквале пакетов с ардуины без задержек, ESP32 в какой-то момент тупо перезагружается.
источник

АН

Александр Никулин... in ESP8266 & ESP32 [RU]
Подскажите плиз рабочий пример bluetooth UART или SERIAL. Я пытаюсь использовать пример, который в интернете все копипастят, на основе SerialToSerialBT (bluetoothserial.h)из экземплов библиотеки. Он не работает. Пробовал несколько клиентов под ios, устройство видно под именем ESP32, не смотря на то что SerialBT.begin("ESPUART");. А при попытке подключиться ошибка. Пробовал также BLE_UART из примеров ESP32_BLE_Arduino - работает не стабильно. Обрывается соединение внезапно в процессе обмена. Уже начал думать, что у меня железка не рабочая.
источник

Х

Х in ESP8266 & ESP32 [RU]
а наоборот когда сколько получится?
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
Наоборот пока не пробовал
источник

Х

Х in ESP8266 & ESP32 [RU]
А почему тогда говоришь, что есп принимает медленнее, чем принимает ардуина-нано?
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Не обязательно (и даже бессмысленно). Таски с более высоким приоритетом перехватят управление когда станут активными. Таски с таким же приоритетом будут делить процессорное время между собой. И вот лишь таски с более низким приоритетом никогда не запустятся. Но вечный цикл обычно делают специально с наименьшим приоритетом, так что все ок.

PS. При некоторых конфигах freeRTOS реально может требоваться принудительная передача управления диспетчеру, но вы не станете использовать такие конфиги без понимания зачем оно нужно
https://www.freertos.org/FreeRTOS_Support_Forum_Archive/June_2017/freertos_Task_switching_does_not_work_without_osDelay_in_loop_02f2b65bj.html
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
Изначально я подключал к can шине реального авто что бы получать количество оборотов двигателя. С ардуиной все работало как надо, а вот на esp какая то фигня получается, предполагаю, что я просто не получал нужные мне пакеты. То есть какие то пакет были, но не те что мне нужны.
источник

Х

Х in ESP8266 & ESP32 [RU]
А как выражается фигня с есп?
источник

Х

Х in ESP8266 & ESP32 [RU]
Может с ардуиной ты тоже пакеты терял
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
Может, но во всяком случае выводимые значения оборотов от ардуино ооочень походили на то что тахометр показывает, а вот от esp то значений вообще не было, но были другие пакеты (не было того в котором обороты) то были но с неверным значением
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
А как будет контекст переключаться. Как я понимаю, тут два варианта, либо таска сама что то позовет, что позволит freertos самой переключить контекст, либо ось предварительно настраивает таймер прерываний
источник

DS

Dmitriy Salko in ESP8266 & ESP32 [RU]
Да, ОС использует один из аппаратных таймеров и в его прерывании сменит контекст когда надо
источник

DQ

Dedal Qq in ESP8266 & ESP32 [RU]
Сейчас мне кажется что если я после каждого прочитанного в цикле пакета буду взывать vTaskDelay(1) то именно в этот момент пропущу большую часть пакетов так как 10ms это, имхо, много
источник