FLANGE_SERIAL_DATA
시리얼 통신 정보는 다음 요소로 구성된 공용체(union)로 정의됩니다.
시리얼 통신 설정 정보(
_tConfig)시리얼 통신 데이터 정보(
_tValue)
_iCommand와 함께 사용해 어느 필드가 유효한지 결정합니다.
0: 열기1: 닫기2: 보내기3: 받기
BYTE# |
필드 이름 |
자료형 |
값 |
비고 |
|---|---|---|---|---|
0 |
|
|
하위 4비트의 시리얼 통신 명령 |
|
1 |
|
|
설정 정보 또는 데이터 버퍼 중 하나를 담습니다. |
_tConfig 구조체(시리얼 설정):
시리얼 통신 정보 공용체는 다음과 같이 정의됩니다. rev1 플랜지에서는 flange_serial_open이 매개변수 값으로 이 필드를 채웁니다. 허용되는 값은 flange_serial_open을 참고하세요. rev2 플랜지에서는 flange_serial_open이 _iCommand(nPort * 16)만 설정하고 이 필드는 0으로 남습니다.
BYTE# |
필드 이름 |
자료형 |
값 |
비고 |
|---|---|---|---|---|
0 |
|
|
ASCII |
7바이트 텍스트로 나타낸 보드레이트 |
7 |
|
|
바이트 크기 |
|
8 |
|
|
패리티 검사 |
|
9 |
|
|
1 또는 2 |
정지 비트 |
_tValue 구조체(시리얼 데이터 버퍼):
시리얼 통신 데이터 정보는 다음과 같이 정의됩니다.
BYTE# |
필드 이름 |
자료형 |
값 |
비고 |
|---|---|---|---|---|
0 |
|
|
수신/송신(RX/TX) 데이터 길이(바이트) |
|
2 |
|
|
데이터 버퍼(최대 32바이트) |
전체 크기: 35바이트
정의 위치: DRFS.h
typedef struct _FLANGE_SERIAL_DATA
{
unsigned char _iCommand; // 0: 열기, 1: 닫기, 2: 송신, 3: 수신
union {
struct {
unsigned char _szBaudrate[7]; // "0115200"(ASCII 문자열)
unsigned char _szDataLength; // 0: 1비트, 7: 8비트
unsigned char _szParity; // 0x00: 없음, 0x01: 홀수, 0x02: 짝수
unsigned char _szStopBit; // 0x01: 정지 비트 1개, 0x02: 정지 비트 2개
} _tConfig;
struct {
unsigned short _iLength; // 수신 데이터 길이
unsigned char _szValue[MAX_SYMBOL_SIZE]; // 송수신 데이터(32바이트)
} _tValue;
} _tData;
} FLANGE_SERIAL_DATA, *LPFLANGE_SERIAL_DATA;