|
ApdComPort1->Output = nData[i];
---------------------------------
output 을 쓰지 마시고 아래 함수들을 쓰십시요
1) 스트링을 전송할때
ApdComPort1->PutString("adfadfasfd");
2) 한 바이트씩 전송할때
ApdComPort1->PutChar(tBuf[3]);
3) 여러 바이트를 한번에 전송할때
ApdComPort1->PutBlock(&tBuf[0],bufCnt);
그럼
이재형 님이 쓰신 글 :
: 빌더 초보입니다. 간단한 시리얼 통신프로그램을 만들고 있습니다. (장비와 통신이 필요해서요.)
: 개발 환경은 빌더5와 Async Pro4.02 버전을 사용중입니다.
:
: 원하는 것은 COM port전송시 char전송이 아니고 Data 값 전송입니다.
: (장비에서 Data값을 읽어서 처리하기 때문에)
: 소스는 하기와 같으며 Test버튼을 누를때마다 nData값을 1byte씩 보내려고 합니다만..
: 현재 전송되는 값은 1byte Data가 아닌 char 변경된 data가 나갑니다. 즉,
:
: 아래의 첫번재 data 의 0x81(129) 의 1 byte data가 전송되길 원하는대 실질적으로는
: "1" "2" "9"의 3byte char가 전송됩니다.
: Async Pro의 log file을 보니 전송data에 3 byte로 찍힙니다. 널 모뎀을 통해서 들어오는 data 또한 동일합니다.
:
: 고수님들께서 도움을 주시면 감사하겠습니다.
:
: //---------------------------------------------------------------------------
: BYTE nData[6];
: unsigned int i = 0;
:
: void __fastcall TForm_1::TestClick(TObject *Sender)
: {
:
: nData[0] = 0x81;
: nData[1] = 0x11;
: nData[2] = 0xF1;
:
: ApdComPort1->Output = nData[i];
: i++;
: }
: //---------------------------------------------------------------------------
|