Arduino Tutorial (Part 06): Data Types

arduino_logo-svg

Data types trong C trong các hệ thống lớn dùng để khai báo các biến, hàm và các loại khác. Loại (type) của biến xác định bao nhiêu không gian nó chiếm dụng trong bộ nhớ và cách mà một trường các bit được lưu trữ.

Theo bảng sau cung cấp tất cả các loại data bạn sẽ dùng trong quá trình lập trình Arduino.

void Boolean char Unsigned char byte int Unsigned int word
long Unsigned long short float double array String-char array String-object

void

Keyword void được dùng chỉ trong khai báo hàm. Nó có nghĩa là hàm mong muốn trả ra không cần thông tin nào từ hàm được gọi.

Ví dụ

Void Loop ( ) {   // rest of the code}

Boolean

Boolean giữ trong 2 giá trị true hoặc false. Mỗi biến Boolean chiếm một byte của memory

Ví dụ

boolean val = false ; // declaration of variable with type boolean and initialize it with falseboolean state = true ; // declaration of variable with type boolean and initialize it with false

Char

Một loại dữ liệu mà chiếm 1 byte của memory và lưu trữ một giá trị ký tự. Các ký tự chữ được viết trong dấu ngoặc đơn như thế này: ‘A’ và cho nhiều ký tự, chuỗi sử dụng dấu ngoặc kép: “ABC”.

A data type that takes up one byte of memory that stores a character value. Character literals are written in single quotes like this: ‘A’ and for multiple characters, strings use double quotes: “ABC”.

Tuy nhiên, các ký tự được lưu trữ như các con số. Bạn có thể xem mã hóa cụ thể trong  bảng ASCII. Điều này có nghĩa rằng nó có thể làm các phép tính trên các ký tự, trong đó giá trị ASCII của ký tự được sử dụng. Ví dụ, ‘A’ + 1 có giá trị 66, vì giá trị ASCII của các chữ cái in hoa A là 65.

Ví dụ

Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character aChar chr_c = 97 ;//declaration of variable with type char and initialize it with character 97

unsigned char

Unsigned char là một kiểu dữ liệu không dấu mà chiếm một byte của bộ nhớ. Các unsigned kiểu dữ liệu char mã hóa số 0-255.

Ví dụ

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y

byte

Một byte lưu trữ một số có dấu 8-bit, -128 đến 127.

Ví dụ

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int

Integers là các dữ liệu kiểu chính cho việc lưu trữ số. int lưu trữ một giá trị 16-bit (2 byte). Nằm trong khoảng -32,768 tới 32,767 (giá trị tối thiểu là -2 ^ 15 và một giá trị tối đa (2 ^ 15) – 1).

Kích thước int thay đổi phụ thuộc vào vi xử lý của board. Ví dụ: Trên Arduino Do, một int lưu trữ một giá trị 32-bit (4 byte). Nằm trong khoảng -2147483648 đến 2,147,483,647 (giá trị tối thiểu là -2 ^ 31 và một giá trị tối đa (2 ^ 31) – 1).

Ví dụ

int counter = 32 ;// declaration of variable with type int and initialize it with 32

Unsigned int

Unsigned ints (unsigned integers) are the same as int in the way that they store a 2 byte value. Instead of storing negative numbers, however, they only store positive values, yielding a useful range of 0 to 65,535 (2^16) – 1). The Due stores a 4 byte (32-bit) value, ranging from 0 to 4,294,967,295 (2^32 – 1).

Unsigned ints (số nguyên không dấu) cũng giống như int trong cách mà họ lưu trữ một giá trị 2 byte. Thay vì lưu trữ các số âm, tuy nhiên, chúng chỉ lưu trữ các giá trị dương nằm trong khoảng từ 0 đến 65.535 (2 ^ 16) – 1). Arduio Due lưu trữ một giá trị 4 byte (32-bit), trong khoảng từ 0 đến 4294967295 (2 ^ 32-1).

Ví dụ

Unsigned int counter = 60 ; // declaration of variable with    type unsigned int and initialize it with 60

Word

On the Uno and other ATMEGA based boards, a word stores a 16-bit unsigned number. On the Due and Zero, it stores a 32-bit unsigned number.

Trên Uno và các board ATMEGA khác, một word lưu trữ một số unsigned 16-bit. Trên Do và Zero, nó lưu một số unsigned 32-bit.

Ví dụ

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Long

Biến long được mở rộng kích thước cho việc lưu trữ các con số, và lưu trữ với 32 bit (4 byte), từ -2147483648 đến 2,147,483,647.

Ví dụ

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346

unsigned long

Biến unsigned long được mở rộng thêm các biến kích thước cho việc lưu số và lưu trữ 32 bit (4 byte). Không giống như standard long, unsigned long sẽ không lưu trữ các số âm, làm cho phạm vi của nó từ 0 đến 4294967295 (2 ^ 32-1).

Ví dụ

Unsigned Long velocity = 101006 ;// declaration of variable with    type Unsigned Long and initialize it with 101006

short

Short là một loại dữ liệu 16-bit. Trên tất cả các Arduinos (ATMega và ARM), một short lưu trữ giá trị 16-bit (2 byte). Nằm trong khoảng -32,768 tới 32,767 (giá trị tối thiểu là -2 ^ 15 và một giá trị tối đa (2 ^ 15) – 1).

Ví dụ

short val = 13 ;//declaration of variable with type short and initialize it with 13

float

Kiểu dữ liệu cho số dấu chấm động là một số có một dấu thập phân. Số có dấu chấm động thường được sử dụng để ước tính các giá trị tương tự (analog) và liên tục bởi vì họ có độ phân giải lớn hơn số nguyên.

Số dấu chấm động có thể được lớn tới 3.4028235E + 38 và thấp nhất tại 3.4028235E + 38. Chúng được lưu trữ như là 32 bit (4 byte) của thông tin.

Ví dụ

float num = 1.352;//declaration of variable with type float and initialize it with 1.352

double

On the Uno and other ATMEGA based boards, Double precision floating-point number occupies four bytes. That is, the double implementation is exactly the same as the float, with no gain in precision. On the Arduino Due, doubles have 8-byte (64 bit) precision.

Trên Uno và các board ATMEGA khác, Double chiếm bốn byte. Điều đó có nghĩa là số double giống như float, không tăng độ chính xác. Trên Arduino Do, doubles có độ chính xác 8-byte (64 bit).

Ví dụ

double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352

Các bài cùng tutorial

Bài 01: Giới thiệu
Bài 02: Tổng quan
Bài 03: Arduino Board
Bài 04: Arduino IDE
Bài 05: Cấu Trúc Chương Trình
Bài 06: Data Types
Bài 07: Biến & Hằng số
Bài 08: Toán tử
Bài 09: Control Statements
Bài 10: Vòng lặp
Bài 11: Functions
Bài 12: Strings
Bài 13: String Object
Bài 14: Time
Bài 15: Arrays

Nguồn: tutorialspoint.com

Comments

linhkienbachkhoa

Comments