주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Byte Pack

입력 신호를 uint8 벡터로 변환

  • Byte Pack block

라이브러리:
Embedded Coder / Embedded Targets / Host Communication

설명

Byte Pack 블록은 하나 이상의 데이터형으로 된 입력 신호를 받아, 해당 데이터를 하나의 uint8 벡터로 변환하여 출력합니다. 블록 파라미터를 사용하여 입력 신호의 데이터형과 블록이 출력하는 벡터 내 데이터의 정렬 방식을 지정하십시오. UDP 프로토콜은 데이터를 uint8 형식으로 전송하므로, 이 블록의 출력을 UDP Send 블록의 입력에 연결하여 UDP 전송에 적합한 형식으로 데이터를 재구성할 수 있습니다.

포트

입력

모두 확장

하나 이상의 데이터형으로 구성된 입력 신호 배열입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

출력

모두 확장

블록 입력을 변환하여 uint8 데이터의 벡터로 반환합니다.

데이터형: uint8

파라미터

모두 확장

블록이 수신하는 입력 신호의 Simulink 데이터형을 셀형 배열로 지정하십시오. 셀형 배열에서는 블록 포트가 신호 데이터를 수신하는 순서대로 데이터형을 지정하십시오. 예를 들어, 블록이 uint32, uint32, uint16, double, uint8, double, single 순서로 데이터를 수신하는 경우, 다음 셀형 배열을 지정하십시오:

 {'uint32','uint32','uint16','double','uint8','double','single'}

그러면 해당 블록은 블록 입력의 개수를 제공합니다.

바이트 단위로 uint8 벡터 출력을 생성하기 위해 입력 데이터의 데이터형을 어떻게 정렬할지 지정합니다. 정렬은 1, 2, 4 또는 8바이트 단위로 이루어질 수 있습니다. 정렬 값을 기준으로, 각 신호 데이터 값은 정렬 값의 배수 지점에서 시작됩니다. 출력 벡터의 각 요소에 대한 정렬 알고리즘은 정렬 값으로 지정된 바이트 경계에서 시작됩니다. 바이트 정렬은 벡터의 시작점을 기준으로 경계를 설정합니다.

다양한 데이터형 조합에서 데이터형 사이에 빈 공간이 없이 가장 빽빽하게 압축하려면 1을 선택하십시오.

길이가 서로 다른 여러 데이터형을 가질 수 있습니다. 이러한 경우, 2바이트 정렬을 적용하면 uint8 또는 int8 값과 다른 데이터형 사이에 1바이트의 간격이 생길 수 있습니다. 팩 구현에서 블록은 데이터를 한 번에 1바이트씩 출력 데이터 버퍼로 복사합니다.

예를 들어, 입력 포트 데이터형(셀형 배열)에 대해 다음과 같은 셀형 배열을 지정한다고 가정합니다:

 {'uint32','uint32','uint16','double','uint8','double','single'}

바이트 정렬2로 설정했다고 가정합니다. 각 새로운 값은 이전 데이터 경계에서 2바이트 떨어진 지점에서 시작됩니다. 신호가 스칼라 값일 때는 다음과 같습니다:

  • 벡터의 첫 번째 신호 값은 0바이트에서 시작합니다.

  • 두 번째 신호 값은 2바이트에서 시작합니다.

  • 세 번째 신호 값은 4바이트에서 시작합니다.

  • 네 번째 신호 값은 6바이트에서 시작합니다.

  • 다섯 번째 신호 값은 8바이트에서 시작합니다.

  • 여섯 번째 신호 값은 10바이트에서 시작합니다.

  • 일곱 번째 신호 값은 12바이트에서 시작합니다.

이 압축 알고리즘은 uint8 데이터 값과 double형 값 사이에 1바이트의 간격을 남깁니다.

버전 내역

R2011a에 개발됨