Перейти к содержанию

Drexxter

Начинающий
  • Постов

    52
  • Зарегистрирован

  • Посещение

Информация о Drexxter

Информация

  • Город
    Владимир
  • Имя
    Алекс
  • Страна
    Russia

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения Drexxter

Продвинутый пользователь

Продвинутый пользователь (3/3)

7

Репутация

  1. Верно. Но что там как - не расскажу. Самой по себе инфы что оптимизировать возможно - имхо достаточно 😉 Пусть вон 11den11 свой код выкладывает. ))
  2. Ну не сокращает, это погрешность измерений имхо. Тут ещё +/- связь, потери. Блютус не идеален.. То, что выдавали нейросети - или не компилируется, или не работает как надо )) Раз 5 попробовал, стал писать сам )
  3. По скорости, светодиодам и прочему. Чтение прошивки 71м модулем (2048Кб): Оригинал Bluetooth - 4:45 Китай Bluetooth без LED (то, что лежит везде) - 9:35 Китай Bluetooth 1 LED - 9:28 Китай Bluetooth 2 LED gpio direct - 9:21 С небольшими модификациями (игра с буфером и работой с ним): Китай Bluetooth 2 LED gpio MOD1 - 5:56 Выводы - при прямой работе с GPIO скорость не меняется. ESP32 всяко медленнее оригинала. Эксперименты с прерываниями и DMA какого-то значительного результата не дают. Не пойму, зачем ты лезешь, если сам до конца не понимаешь, да и ничего толкового по теме не говоришь? Чисто "поумничать"?
  4. Такая, что он вполне может успевать и то и то. Но это не точно. Он для этого явно не предназначен, вот это как раз костылище. А для чего нам буферы нужны? Не для этого? Может пока идёт чтение буфера блютус или его запись в уарт - обмен приостанавливается? Мне. В целом - изначальный код был взят из примеров работы ESP32, про какой-то функционал или оптимизацию там речи не шло. Если уже упарываться - можно и в прерывания, и в DMA пойти, и явно не в Ардуине писать. Но раз мы тут страдаем хернёй... ))
  5. Ну и за сколько выполняется digitalwrite и gpio_set_level на ESP32? ...Ок, вариант вообще без тормозов на светодиоде. Один светодиод состояния, на 32 пине. Изменяется только при изменение состояния соединения. Так же и передача данных идёт только когда блюпуп подключен. Проверяйте, тестируйте. "на столе" работает. sketch_scanmatic_LED_32_bufer_GPIO_Conn.ino
  6. Но если покопаться - GPIO там работает через обработчик FIFO с буфером, сколько он тактов процессора жрёт - не ясно, как и задержки. У кого есть осцил под рукой - проверьте частоту
  7. "В цикле loop (), используя функцию digitalWrite, мы можем менять состояние пина с частотой максимум 72 кГц" Это на ардуине, на 16мГц. На ЕСП32 - проверять надо.. И может ли оно напрямую через PORT управляться.. ESP8266 - 560кГц Ок, на базе GPIO. Быстрее не будет я думаю.
  8. Короче "Лучшее - враг хорошего" ) Скетч с морганием светодиодами, буфером, и серийником 32-й версии. sketch_scanmatic_LED_32_bufer.ino
  9. На сколько знаю, ЕСП на одном ядре крутит связь, на втором крутит код. Блютус/Вайфай стек - весьма прожорливые штуки ) Во всяком случае на 8266 всё зависало на время обработки вифи, ввиду одноядерности. С static uint8_t buffer[256]; то же не понятно, почему бы и его не бахнуть 2048..
  10. Позвольте поинтересоваться - до каких величин достаточно увеличить?
  11. А можно исходник попросить? Хочется покопаться. void setup() { Serial.setRxBufferSize(1024); Serial.setTxBufferSize(1024); Просто эти величины увеличены?
  12. Хрень какая. А смысл его тогда? Почему они его лексией называют, и версию пишут?
  13. ...а вот это - что вообще такое? Что-то там большей части компонентов нет... )
×
  • Создать...