我目前正在编写一个Android应用程序,该应用程序将与使用FTDI芯片进行I2C通信的MCU交互。目前,我拥有FTDI ft311开发板,并试图测试FTDI提供的示例应用程序。我正在使用I2CDemo app。我将开发板连接到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)
任何帮助表示赞赏。