13.1.18. cesWriteString


SYNOPSYS

t_i32 cesWriteString(
      [in] t_i32 nNodeID,
      [in] t_i32 nChannel,
      [in] t_i32 nNumints,
      [in] t_char aWriteBuf,
      [out] t_i32 nNumRetWriteints
  )

DESCRIPTION

  • 송신 버퍼에 지정된 바이트 수 만큼의 데이터를 추가합니다.

  • 송신 버퍼 카운트를 해당 바이트 수 만큼 증가 시킵니다.

PARAMETER

  • nNetID : 원격 노드 ID

  • nChannel : 채널 번호

  • nNumints : 바이트 수

  • aWriteBuf : 쓰는 바이트 버퍼

  • nNumRetWriteints : 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 );
}