|
^^ 제가 말을 많이 빼고 쓴듯 합니다.
현재 제어를 할려고 하는것을 제어를 하는데 case 1번의 방법으로 제어를 하게 되면 제어가 안됩니다.
그래서 혹시나 하고 통신규약이 맞지가 않는가 해서 문의를 했더니 통신 규약 또한 그곳에서 말한것이랑 틀리지가 않습니다.
그래서 혹시나 ASCII 코드로 변환을 하여 Write 를 하면 될까하고 해볼려고 하는데,. ASCII 로 어떻게 변환을 해야 할지를 잘몰라서요..
도움 부탁드립니다.
장성호 님이 쓰신 글 :
: 뭔얘기인지 잘모르겠지만
:
: case 1 : 에는 문제가 없는것 같은데...
:
: case 2: 에서는 char *를 unsigned char 로 변환하네요
:
: unsigned char Buff;
: AnsiString str;
: str = "WS2 50\r";
: Buff = (unsigned char) str.c_str(); //---> ???
: ------------------------------------------
: case 1이나 case2나 똑같은것 같은데... case2 방법으로 할 필요는 전혀 없을듯 합니다만
: 고쳐 본다면...
:
: unsigned char *Buff;
: AnsiString str;
: str = "WS2 50\r";
: Buff = (unsigned char*) str.c_str();
:
:
:
: 초보자 님이 쓰신 글 :
: : CPort 를 이용하여 제어를 할려고 합니다.
: : 하지만 제가 RS232 통신은 꽝이라서요.. 도움을 부탁 드립니다.
: :
: : 보내고자 하는 데이터는 "ab 234" 입니다.
: : 제가 테스트해본 소스입니다.
: :
: : case 1 :
: : AnsiString str;
: : str = "ab 234\r";
: : ComPort1->Write(str.c_str(),str.Length());
: :
: : case 2:
: :
: : unsigned char Buff;
: : AnsiString str;
: : str = "WS2 50\r";
: : Buff = (unsigned char) str.c_str();
: :
: : ComPort1->Write(&Buff,1);
: : or
: : ComPort1->Write(&Buff,str.Length());
: :
: : 위와 같이 테스트를 해보았습니다. 혹 소스에 문제가 있는 지요???
: :
: : 제어를 할려고 하는 곳의 통신 규약은 "ab 234\r" 로 보내면 된다고 합니다. ( 상대방 개발자의 말 )
: :
: : 무엇이 잘못됬을까요??? 즐프
: :
: : cf) ASCII 코드로 보내는 것이랑 case1 으로 보내는 것이랑 틀린 점이 뭔지요??? 혹 틀리다면 어떻게 보내야 하는지요?(ASCII 코드 변환은 어떻게 하는 지요? )
|