[제품종류] IEC1000
[개발환경] Visual Studio 2008 C#
SmartSerialPort로 RS-485 통신을 구현하여 송/수신이 되는 것을 확인하였습니다. (None-Frame, 비동기-Event 방식)그러나 한 함수내에서 송신을 여러번 하는 경우 각각의 송신에 대한 수신이 정상적으로 되지 않습니다.
OnReadQueueEvent 함수가 호출되는 시점은 언제이며 , Case 2의 경우에도 정상 동작을 하기 위해서 어떤 처리를 해야하는지요?
<예제 코드>
byte[] send, receive;
...
private void sendCommand()
{
...
smartSerialPort1.WriteNoneFrame(send);
}
private void smartSerialPort1_OnReadQueueEvent()
{
smartRS485.ReadQueue(out receive);
...
}
// Case 1 : 정상 동작
private void button1_Click(object sender, EventArgs e)
{
sendCommand();
}
// Case 2 : 비정상 동작 (sendCommand 함수 사이에 sleep 함수를 적용해도 비정상적으로 동작합니다.)
private void button2_Click(object sender, EventArgs e)
{
sendCommand();
sendCommand();
sendCommand();
...
}