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

Roman St

Продвинутый
  • Постов

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

  • Посещение

  • Победитель дней

    1

Roman St стал победителем дня 25 марта

Roman St имел наиболее популярный контент!

Информация

  • Пол
    Мужчина
  • Город
    Пятигорск
  • Имя
    Roman
  • Страна
    Russia

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

625 просмотров профиля

Достижения Roman St

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

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

30

Репутация

1

Ответы сообщества

  1. Я тоже думаю чем проще код тем надежнее. Пусть и медленее.... Себе ставил буфер 1024... работает... Но скорее всего прошюсь на первую версию она вроде как надежнее)))
  2. В esp32 с двух ядерностью можно игратся....
  3. А вообще без буфера пробовали? Здесь меняли значения? Нету сейчас живого блока для экспериментов... ИИ мне даже предлогал код с задействованием 2 ядер еспшки с задействованием FreeRTOS типо одно ядро на передачу другое на прием... обещал увеличение производительности)))
  4. Эксперементировал с ИИ (deepseek)... Просил у него код для включения и выключения (для того что бы в обычном режиме esp много не жрала и не грелась) через Bluetooth терминал точки доступа wifi в esp32. Поднимал точку доступа с веб интерфейсом для обновления прошивки (OTA)через wifi. Как бы с костылями работает))) может и оптимизировать можно только что там обновлять в блютус модуле... Другое дело что в теории можно и STM 32 прошить через ESP32 ИИ даже код дает но эксперементировать некогда....
  5. #include "BluetoothSerial.h" #include "driver/uart.h" //#define USE_PIN // Раскомментируйте для использования PIN-кода при сопряжении const char *pin = "1234"; const String device_name = "SCANMATIK #A111788"; // const для экономии памяти BluetoothSerial SerialBT; void setup() { Serial.setRxBufferSize(2048); Serial.setTxBufferSize(2048); Serial.begin(921600); // Настройка UART с аппаратным управлением потоком (RTS/CTS) uart_set_pin(UART_NUM_0, 1, 3, 22, 19); // UART, TX, RX, RTS, CTS uart_set_hw_flow_ctrl(UART_NUM_0, UART_HW_FLOWCTRL_CTS_RTS, 64); uart_set_mode(UART_NUM_0, UART_MODE_UART); SerialBT.begin(device_name); #ifdef USE_PIN SerialBT.setPin(pin); #endif Serial.print("AT-AB -BypassMode-\n"); } void loop() { // Буферизованное чтение и запись для уменьшения задержек static uint8_t buffer[256]; // Статический буфер для уменьшения аллокаций size_t available; // Передача данных из Serial в Bluetooth available = Serial.available(); if (available > 0) { size_t bytesRead = Serial.readBytes(buffer, min(available, sizeof(buffer))); SerialBT.write(buffer, bytesRead); } // Передача данных из Bluetooth в Serial available = SerialBT.available(); if (available > 0) { size_t bytesRead = SerialBT.readBytes(buffer, min(available, sizeof(buffer))); Serial.write(buffer, bytesRead); Буферизация данных Вместо посимвольного чтения (Serial.read()) используется буферизованный обмен (readBytes + write), что ускоряет передачу. Статический буфер (static uint8_t buffer[256]) исключает лишние выделения памяти. Оптимизация памяти device_name объявлена как const String, чтобы избежать лишних копий. Читаемость и надежность Добавлены комментарии для настройки UART. Использована функция min() для предотвращения переполнения буфера. Снижение задержек Пакетная передача уменьшает нагрузку на процессор. Дополнительные рекомендации: Если передаются большие объемы данных, можно увеличить буфер (например, до 512 или 1024 байт). Рабочая версия сгенерированная ИИ осталось только потестить)))
  6. Вот о чём и речь что он автоматом перешивается ,НАТО он оригинал и в той теме человек имеет ввиду откат прибора на 32 версию Здесь я говорил про то как поставить 2 разных версии PCMflash
  7. Вообщем провел эксперимент. С произвольным именем конфигуратор не видит устройство... но и четко серийник не обязательно. Есть там какой-то алгоритм))) часто вместо произвольного имени определяется как 0000A
  8. Просто быстро сдались))) Измените имя папки с установлиным pcm и пересоздайте ярлык. Потом установите другой.
  9. Получается это работает только на 1 версии. Которая шла со скетчем. Сейчас 2 версию пробовал разными прогами и с компа и с телефона с разными скоростями... не работает.
  10. У автора другой модуль... с esp32 так не прокатит.
  11. Счетчик скидывается в любой момент нажатием кнопки синхронизации...
  12. Я его специально удалил в реестре... что бы не мешался. С ним тоже работало. Я в одисе работаю с vnsi и стоит драйвер vas 6154.
  13. Специально попробовал без блютуз... все работает. Когда галка стоит тест p dpu тоже проходит? У меня версия p dpu свежее вашей. Может в этом и проблема...
  14. Можно попробывать разные версии совта... ну а вдруг. Если нет забыть про лаунч и искать другой путь.
  15. Не пробовал. Но вот что есть.
×
  • Создать...