13.1.9. cesPeekString


SYNOPSYS

t_i32 cesPeekString(
      [in] t_i32 nNodeID,
      [in] t_i32 nChannel,
      [in] t_i32 nNumBufSize,
      [in] t_char  aRetBuf,
      [out] t_i32  nNumRetBytes
  )

DESCRIPTION

  • 수신 버퍼로부터 지정한 바이트 수 만큼의 데이터를 읽어옵니다.

  • 수신 버퍼 카운트는 감소 시키지 않습니다.

PARAMETER

  • nNetID : 원격 노드 ID

  • nChannel : 채널 번호

  • nNumBufSize :

  • aRetBuf :

  • nNumRetBytes : 1 바이트 이상의 바이트열 데이터

RETURN VALUE

  • 함수 수행 여부를 반환합니다.

Value

Meaning

음수

수행 실패

0 (ceERR_NONE)

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "ceSDK.h"
#include "ceSDKDef.h"
long nSerialChNo = 0; // 시리얼 채널(Port) 번호
BYTE abyData[8]; // 바이트열 데이터 정보
int nCheckSum;
// 0 번 시리얼 포트에 대해 수신 버퍼로부터 8 바이트 크기의 데이터 확인
if ( cesPeekString ( nSerialChNo, 8, &abyData) != ceERR_NONE )
{
OutputDebugString ( "cesPeekString has been failed" );
}
// 0 번 시리얼 포트에 대해 수신 버퍼로부터 8 바이트 크기의 데이터 읽기
if ( cesReadString (SER_PORT0, 8, &abyData) != ceERR_NONE )
{
OutputDebugString ( "cesPeekString has been failed" );
}
/* 전달 패킷 생성 */
abyData[0] = 0x2; // STX
abyData[1] = 'A';
abyData[2] = 'B';
abyData[3] = 'C';
abyData[4] = 'D';
abyData[5] = 'E';
for ( int I = 0; I <= 5; i++ )
{
nCheckSum += abyData[i];
}
abyData[6] = nCheckSum;
abyData[7] = 0x3; // ETX
if ( cesWriteString ( nSerialChNo, 8, abyData ) == ceERR_NONE )
{
cesCommit ( nSerialChNo );
}