2016-07-14 2 views
1

나는 무엇보다 내 논리에 조금 도움이 필요하다. 단 2 초 동안 릴레이를 트리거 내가 원하는 타이머의 모든주기 위해타이머의 모든주기를 전환하는 것

{ 
    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(); 

에 :

나는 타이머를 가지고있다. 나는 내가 어떻게 그 일을 할 것인지에 대해 머리가 잘 잡히지 않는다. 아무도 내게 아이디어를 줄 수 있습니까?

+0

타이머의 모든주기는 무엇을 의미합니까? 사이클 사이의 시간 간격은 얼마입니까? – pahan

+0

현재 5 초마다 타이머가 프리셋의 '카운트'를 가져 와서 문자열을 보낸 다음 '카운트'를 1 씩 증가시킵니다. –

+0

타이머가 카운트를 증가시킬 때마다 릴레이를 트리거하고 싶습니다. 릴레이를 2 초 동안 트리거 상태로 유지하고 싶습니다. –

답변

1
timer

가 현재 다섯 개 초 간격으로 2 초와 delayschedule()TimerTask에서, 릴레이를 폐쇄하고 run()의 두번째 작업의 실행에 릴레이를 열 때마다.