반응형
목차
아두이노 데이터 타입(Arduino Data Type)
아두이노에서 사용되는 여러 데이터 타입들 중 uint8_t와 같은 타입은 일반적으로 정수형 데이터를 저장하는 데 사용됩니다. 아두이노는 C/C++ 기반의 언어를 사용하므로, C/C++에서 흔히 볼 수 있는 데이터 타입들을 사용합니다. 여기에는 여러 가지가 있지만, 주로 사용되는 몇 가지를 소개하겠습니다.
정수형(Integer Types)
- int: 표준 정수형. 아두이노에서는 보통 16비트를 차지합니다.
- unsigned int: 부호 없는 정수형. 음수를 포함하지 않고, 같은 크기의 int보다 두 배의 양수 범위를 가집니다.
- long: 더 큰 크기의 정수를 저장하기 위한 타입. 아두이노에서는 32비트를 차지합니다.
- unsigned long: 부호 없는 긴 정수형. long과 같은 크기이지만, 음수를 포함하지 않습니다.
- short: 작은 크기의 정수를 저장하기 위한 타입. 아두이노에서는 16비트를 차지합니다.
- uint8_t: 부호 없는 8비트 정수형. 0부터 255까지의 값을 저장할 수 있습니다.
부동소수점형(Floating Point Types)
- float: 부동소수점 숫자를 저장하는 데 사용됩니다. 아두이노에서는 4바이트(32비트)를 차지합니다.
- double: float보다 더 큰 범위와 정밀도를 가진 부동소수점 숫자를 저장하는 데 사용됩니다. 아두이노에서는 float와 같은 크기를 차지합니다.
문자형(Character Types)
- char: 단일 문자를 저장하는 데 사용됩니다. 8비트를 차지하며, 부호 있는 정수로도 사용될 수 있습니다.
- unsigned char: 부호 없는 문자형. char와 같은 크기이지만, 부호 없는 8비트 정수로 해석됩니다.
아두이노 데이터 타입 예제 코드
예제 코드>>
#include <Arduino.h>
void setup() {
Serial.begin(9600); // 시리얼 통신을 9600 bps로 시작
// 각 데이터 타입의 크기를 출력
Serial.print("Size of char: ");
Serial.println(sizeof(char));
Serial.print("Size of int: ");
Serial.println(sizeof(int));
Serial.print("Size of unsigned int: ");
Serial.println(sizeof(unsigned int));
Serial.print("Size of long: ");
Serial.println(sizeof(long));
Serial.print("Size of unsigned long: ");
Serial.println(sizeof(unsigned long));
Serial.print("Size of short: ");
Serial.println(sizeof(short));
Serial.print("Size of float: ");
Serial.println(sizeof(float));
Serial.print("Size of double: ");
Serial.println(sizeof(double));
Serial.print("Size of uint8_t: ");
Serial.println(sizeof(uint8_t));
}
void loop() {
}
size of로 데이터 크기를 확인합니다.
결과>>
이 코드를 업로드한 후 아두이노 IDE의 Serial Monitor를 열면 각 데이터 타입의 크기가 바이트 단위로 출력됩니다. Serial Monitor를 열기 위해서는 아두이노 IDE의 상단 메뉴에서 'Tools' > 'Serial Monitor'를 선택하거나 단축키 Ctrl + Shift + M을 사용하십시오.
각 데이터 타입의 크기는 아두이노 보드의 종류와 사용하는 컴파일러에 따라 다를 수 있습니다. 일반적으로 아두이노 Uno와 같은 AVR 기반 보드에서는 int가 2바이트, long과 float가 4바이트를 차지합니다. 다른 보드에서는 이러한 크기가 다를 수 있으므로, 사용하고 있는 보드에 따라 결과가 달라질 수 있습니다.
반응형
'아두이노 Arduino' 카테고리의 다른 글
[아두이노] 일정 시간 간격으로 시리얼 출력하기(Arduino, millis, delay, 1초) (0) | 2024.01.08 |
---|---|
[아두이노] 1:1 캔통신 연결하기(Arduino, CAN Communication, Bus, MCP2515) (2) | 2024.01.05 |
[아두이노] 파이썬 Pyserial로 Blink 예제 실행하기 (PC to Arduino) (2) | 2022.05.12 |
[아두이노] String함수: indexof, substring, length (텍스트 검색, 위치 찾기) (0) | 2022.05.11 |
[아두이노]1초마다 프로그램 동작 시키기(millis(),delay(), scheduling, 스케쥴링) (0) | 2022.05.10 |