센서를 사용하다보면, 값을 통신으로 값을 전달하는 경우가 있습니다.
데이터가 byte인 경우에는 큰 문제가 없지만 float 형식과 같은 경우에는 처리하기가 귀찮아집니다.
데이터를 쪼개서 나누어서 저장하고 보내고 해야하기 때문입니다.
이런 경우에는 union 형식으로 변수를 만들어서 관리하면 편하게 관리가 됩니다.
자유롭게 원하는 형식으로 가져다 사용할 수 있습니다.
union
{
unsigned long l;
byte c [4];
float f;
} temperature;
void setup()
{
Serial.begin(57600);
temperature.f = 175.63;
Serial.println("temperature is: ");
Serial.println(temperature.f);
Serial.println(temperature.l, HEX);
Serial.println(temperature.c[0], HEX);
Serial.println(temperature.c[1], HEX);
Serial.println(temperature.c[2], HEX);
Serial.println(temperature.c[3], HEX);
}
void loop()
{
}
다음과 같이 저장된 내용을 확인할 수 있습니다.
보내는 쪽도 받는 쪽도 간단하게 처리가 가능합니다.
'Study > Coding' 카테고리의 다른 글
Arduino bootloader (부트로더) 컴파일하기 (0) | 2021.07.13 |
---|---|
nRF52DK 보드를 디버거로 사용하기 (0) | 2020.12.21 |
ITS-1500S를 사용하여 핀하나로 조이스틱 버튼 구성하기 (0) | 2020.12.21 |
UART 간단하게 스위치하기 (0) | 2020.12.18 |
8MHz 이하의 아두이노 보드에서 WS2812(네오픽셀) 사용하기 (0) | 2020.12.18 |