我正在使用 IOIO Android 开发板。我正在尝试控制 2 个引脚和一个 LED,并每隔一段时间将它们关闭。到目前为止,它连接良好,并且 LED 和引脚正在打开和关闭,但时间不正确。我认为问题出在 sleep() 函数上。任何帮助或指导将不胜感激。
class IOIOThread extends Thread {
private IOIO ioio_;
private boolean abort_ = false;
@Override
public void run() {
super.run();
while (true) {
synchronized (this) {
if (abort_) {
break;
}
ioio_ = IOIOFactory.create();
}
try {
setText(R.string.wait_ioio);
ioio_.waitForConnect();
setText(R.string.ioio_connected);
while (true) {
while((button_.isChecked())==true){
DigitalOutput led = ioio_.openDigitalOutput(0, false);;
DigitalOutput S1 = ioio_.openDigitalOutput(35, false);
DigitalOutput S2 = ioio_.openDigitalOutput(36, false);
DigitalOutput S3 = ioio_.openDigitalOutput(37, false);
DigitalOutput S4 = ioio_.openDigitalOutput(38, false);
holdTime=30000;
for (currentTime=0; currentTime<=holdTime;)
{
led.write(true);
S1.write(true);
S2.write(true);
sleep(4000);
led.write(false);
S1.write(false);
S2.write(false);
sleep(2000);
led.write(true);
S3.write(true);
S4.write(true);
sleep(4000);
led.write(false);
S3.write(false);
S4.write(false);
sleep(4000);
currentTime = currentTime+14000;
}}}}
catch (ConnectionLostException e) {
} catch (Exception e) {
Log.e("HelloIOIOPower", "Unexpected exception caught", e);
ioio_.disconnect();
break;
} finally {
try {
ioio_.waitForDisconnect();
} catch (InterruptedException e) {
}
}
}
}