Программирование с помощью платы разработки FTDI ft311

В настоящее время я пишу приложение для Android, которое будет взаимодействовать с MCU, которое будет использовать чип FTDI для связи I2C. В настоящее время у меня есть FTDI ft311 Dev Board, и я пытаюсь протестировать образцы приложений, предоставленные FTDI. Я работаю с Приложение I2CDemo. У меня есть плата, подключенная к плате оценки TI MSP-EXP430FR2433, на которой запущена простая программа, генерирующая значения ASCII, хранящиеся в буфере.

Моя проблема сейчас в том, что когда я запускаю приложение I2CDemo, я могу прочитать из буфера только один раз, и любой последующий запрос вызывает в приложении ошибку ANR. То же самое и для записи в MCU. Я не могу понять, почему это происходит, даже после изучения предоставленного кода.

Я вытащил журнал из файла трассировки adb, и вот его часть:

DALVIK THREADS (12):
"Thread-2" prio=5 tid=12 Runnable
| group = "main" sCount=0 dsCount=0 obj=0x12d46280 self=0x7fb1a05600
| sysTid=30669 nice=0 cgrp=default sched=0/0 handle=0x7fa6a42450
| state=R schedstat=( 0 0 0 ) utm=5410 stm=0 core=4 HZ=100
| stack=0x7fa6940000-0x7fa6942000 stackSize=1037KB
| held mutexes= "mutator lock"(shared held)
at 
com.I2CDemo.FT311I2CInterface$handler_thread.run(FT311I2CInterface.java:458)

Любая помощь приветствуется.

Пожалуйста, попробуйте выяснить, где в вашем коде, вероятно, заключается проблема, или предоставьте какие-либо журналы / ошибки, которые предоставляет сбой приложения. Вы должны предоставить минимальный воспроизводимый пример, чтобы было легче воспроизвести вопрос и ответить на него.

lucidbrot 31.07.2018 15:00

Спасибо за ваш ответ. Я обновил вопрос, а также получил ответ от FTDI: Проект FT311 разработан в период выхода Android OS 4.x. Я думаю, проблема в том, что действие доступа (чтение / запись) размещено в основном потоке, и у него возникнут некоторые проблемы в более новой версии ОС. Заказчик может изменить I2CDemoActivity.java и поместить действие доступа (чтение / запись) в новые потоки.

Fola 03.08.2018 13:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
133
0

Другие вопросы по теме