2016-07-14 2 views
1

Мне нужна небольшая помощь в моей логике больше всего на свете.Переключение реле каждый цикл таймера

У меня есть таймер:

{ 
    timer = new java.util.Timer(); 
    timer.schedule(new java.util.TimerTask() { 

     @Override 
     public void run() { 

     try{ 
      byte st = presetNo[count]; 
      System.out.println("Start Tour Button pressed, String: "+st); 

       count ++; 
        if(count >=MaxCount) count=0; 

     byte[] command = {(byte) startTx, address, byteOne, goPreset, 0x00, st, endTx, 0x0F};                         
       TwoWaySerialComm.SerialWriter sw = new TwoWaySerialComm.SerialWriter(
       twoWaySerCom.serialPort.getOutputStream()); 

           sw.out.write(command); 

      } 


     catch (IOException e) 
       { 
        e.printStackTrace(); 
       } 

     } 
    }, 
100,5000 

); 

} 

Для каждого цикла таймера я хочу к

pin.toggle(); 

для запуска реле на 2-х секунд. Я не могу сказать, как я это сделаю. может кто-нибудь дать мне идею?

+0

Что вы подразумеваете под каждым циклом таймера? каков временной интервал между циклами? – pahan

+0

В настоящее время каждые 5 секунд таймер получает «счет» пресета, отправляет строку и затем увеличивает счетчик на единицу. –

+0

Я хочу вызвать реле каждый раз, когда таймер увеличивает счетчик, и я хочу, чтобы реле оставалось включенным в течение 2 секунд. –

ответ

1

Каждый раз, когда timer закрывает реле, в настоящее время в пяти-секундных интервалах, schedule() второго TimerTask с два вторыми delay и открыть реле в реализации второй задачи о run().