|
장비와 통신할 때 타이머를 사용해서 주기적으로 통신합니다.
타이머 이벤트 함수에서 TX패킷을 보내고 "Timer1->Enabeld = false"를 하여 타이머를 죽입니다.
그리고 다른 일을 수행하고 다시 "Timer1->Enabled = true"하여 TX패킷을 보내게 되어 있습니다.
그런데 가끔 Timer1이 중지않고 한번정도 살아있는 것 같습니다.
같은 프로그램을 오랫동안 사용하는데 이런적은 없었는데 작년에 중국쪽 현장에서 가끔 발생합니다.
통신 로그 기록을 보면 정상상태는 아래와 같이 TX,RX 반복입니다.
TX(장비 1상태 요청) -> 정상
RX(장비 1상태 응답) -> 정상
그런데 가끔 아래와 같이 TX, TX, RX가 되버리는 경우가 발생합니다.
TX(장비 1상태 요청)
TX(장비 2상태 요청)
RX(장비 1상태 & 장비 2상태 값이 깨져서 수신됨)
"Timer1->Enabled = false"를 해도 중단되지 않는 경우도 있나요?
혹시 유 경험자 계시면 조언 부탁드립니다.
|