Проблема с библиотекой Android UsbSerial в ch340Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с библиотекой Android UsbSerial в ch340

Сообщение Anonymous »

Я пытаюсь преобразовать проект Python с открытым исходным кодом esptool.py в проект Android(java).

В Android для последовательной связи я использую библиотеку USB Serial.

Мне нужна только функция esp8266 из esptoo.py, поэтому я преобразовал только функцию esp8266.
Из библиотеки UsbSerial я использую синхронный API, потому что esptool.py использует синхронную команду для последовательного чтения/записи.

Текущий проект хорошо работает с esp8266/FTDI, esp8266/cp2102 так же, как esptool.py.

Моя проблема не работает с esp8266/ch340.

Конечно, esptool.py хорошо работает с esp8266/ch340.

Но мой проект Android с ним не работает.

В Android основная команда, используемая в esptool.py, — это setDTR< /code>, setRTS, последовательное чтение и последовательная запись.
Каждая команда работает хорошо, хотя в esp8266/ch340 в обычном режиме (не загрузчик mode).
Кроме того, я подтвердил, что esp8266 может правильно работать в режиме загрузчика с помощью комбинации setDTR, setRTS.

Более правильно подтвердить режим загрузчика я могу с помощью Кнопка Flash и кнопка RST esp8266.

Изображение
При использовании esp8266/ch340 я не могу пройти первый шаг с проектом Android.
Первым шагом является операция синхронизации. .
В Android вызовите команду записи с помощью https://github.com/espressif/esptool/wi ... ronisation, затем esp8266 — это ответ в байтах.

Основная проблема — невозможно прочитать ответную команду из esp8266.

Из UsbSerial есть syncRead, syncWrite команды, также есть асинхронная команда для последовательной работы.

esptool.py создан с использованием синхронного API. Итак, я использую синхронный API в Android project.

Также текущий проект прекрасно работает с esp8266/FTDI, esp8266/cp2102.
Так что, я думаю, основной алгоритм успешно конвертирован из esptool.pyНо, esp8266/ch340, текущий проект не работает.

В ходе отладки я подтвердил, что не могу прочитать ни одного байта из esp8266/ch340 в режиме загрузчика.

Для отладки я создал новый проект с использованием асинхронного API.
С помощью кнопки esp8266 создайте esp8266/ch340 code> режим загрузчика, я пишу команду синхронизации для esp8266.

Изображение

Из https://github.com/espressif/esptool/wi ... l-Protocol, esp8266 отправляет ответную команду, но не может прочитать ответ в esp8266/ch340.
Но я обнаружил странные вещи.
После режима загрузчика напишите команду синхронизации и отключите USB от Android, после чего я увижу правильную команду ответа в момент отключения.

Если я напишу команду синхронизации 3 раза, то команда ответа 3 приходит в момент отключения.

Как я могу решить эту проблему?
Как я могу отлаживать esp8266 в режиме загрузчика ?
С точки зрения отладки, это основная проблема в esp8266/ch340(режим загрузчика).

Подробнее здесь: https://stackoverflow.com/questions/556 ... m-in-ch340
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»