|
먼저 답변 감사드립니다.
<엔터>키가 LF라는 말씀인가요? (또 잘못 이해한건지...)
만약 그렇다면..
명령어 끝에 LF를 쓰지 않고 'SYST:REM<엔터>'라고 보냈을때..
DMM이 제대로 동작해야 할텐데, 에러가 발생한다는겁니다.
말씀 드렸듯이 'SYST:REM<여기에 커서를 위치시키고 엔터!>LF'라고 보내면
제대로 동작을 하구요...
아래 코드는 전송 부분인데...
------------------------------------------------------------------------------------
void __fastcall TForm1::edtSendChange(TObject *Sender)
{
long ret;
int getlen;
getlen = edtSEND->Text.Length();
if( getlen > 2)
{
if( edtSEND->Text.Pos((char)0xd)!= 0 )
if( edtSEND->Text.Pos((char)0xa)!= 0 )
ret = Wincom1->writecom(m_PortNumber, WideString(edtSEND->Text), getlen-2);
edtSEND->Text = "";
}
}
--------------------------------------------------------------------------------------
아무래도 제가 제대로 이해하지 못해서 이런 문제가 발생하는것 같다는 생각이 듭니다.
위 코드에대해 설명해 주시면 감사하겠구요...
그리고 제가 하려는 것은 DMM에서 계속적으로 전압값을 읽어오는 것입니다.
따라서 전압을 읽어올 때마다 명령어를 수동으로 전송할 순 없으니까
프로그램상에서 자동적으로 전송하려고 하는데,
그렇다면 for문에서 명령어를 반복적으로 전송하면서
전송할때마다 끝에 'LF'를 붙여주면 될것같기도 한데...
혹 맞다면 어떻게 해야 끝에 'LF'를 추가해서 전송할 수 있는지..
아님 다른 방법은 없는지 가르쳐 주시면 감사하겠습니다.
답답하시더라도 이해해주세요...^__^ 아직 모르는게 너무 많아서...
늘 답변에 감사드리구요...
기다리겠습니다.
|