Arduino - Các loại dữ liệu
Kiểu dữ liệu trong C đề cập đến một hệ thống mở rộng được sử dụng để khai báo các biến hoặc hàm thuộc các kiểu khác nhau. Kiểu của một biến xác định bao nhiêu không gian mà nó chiếm trong bộ nhớ và cách diễn giải mẫu bit được lưu trữ.
Bảng sau cung cấp tất cả các kiểu dữ liệu mà bạn sẽ sử dụng trong quá trình lập trình Arduino.
vô hiệu | Boolean | char | Ký tự không dấu | byte | int | Int chưa ký | từ ngữ |
Dài | Chưa ký lâu | ngắn | Phao nổi | gấp đôi | mảng | Mảng chuỗi ký tự | Đối tượng chuỗi |
vô hiệu
Từ khóa void chỉ được sử dụng trong khai báo hàm. Nó chỉ ra rằng hàm được mong đợi sẽ không trả về thông tin nào cho hàm mà từ đó nó được gọi.
Thí dụ
Void Loop ( ) {
// rest of the code
}
Boolean
Boolean giữ một trong hai giá trị, đúng hoặc sai. Mỗi biến Boolean chiếm một byte bộ nhớ.
Thí dụ
boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true
Char
Một kiểu dữ liệu chiếm một byte bộ nhớ để lưu trữ một giá trị ký tự. Các ký tự ký tự được viết trong dấu ngoặc kép như sau: 'A' và đối với nhiều ký tự, chuỗi sử dụng dấu ngoặc kép: "ABC".
Tuy nhiên, các ký tự được lưu trữ dưới dạng số. Bạn có thể xem mã hóa cụ thể trong biểu đồ ASCII . Điều này có nghĩa là có thể thực hiện các phép tính số học 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 chữ hoa A là 65.
Thí dụ
Char chr_a = ‘a’ ;//declaration of variable with type char and initialize it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it with character 97
ký tự không dấu
Unsigned charlà kiểu dữ liệu không dấu chiếm một byte bộ nhớ. Kiểu dữ liệu char không dấu mã hóa các số từ 0 đến 255.
Thí 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ố 8 bit không dấu, từ 0 đến 255.
Thí dụ
byte m = 25 ;//declaration of variable with type byte and initialize it with 25
int
Số nguyên là kiểu dữ liệu chính để lưu trữ số. int lưu trữ giá trị 16 bit (2 byte). Điều này mang lại một phạm vi từ -32,768 đến 32,767 (giá trị nhỏ nhất là -2 ^ 15 và giá trị lớn nhất là (2 ^ 15) - 1).
Các intkích thước khác nhau giữa các hội đồng quản trị. Trên Arduino Due, ví dụ, mộtintlưu trữ một giá trị 32-bit (4 byte). Điều này mang lại một phạm vi từ -2,147,483,648 đến 2,147,483,647 (giá trị nhỏ nhất là -2 ^ 31 và giá trị lớn nhất là (2 ^ 31) - 1).
Thí dụ
int counter = 32 ;// declaration of variable with type int and initialize it with 32
Int chưa ký
Các int không dấu (số nguyên không dấu) giống với int ở cách chúng lưu trữ giá trị 2 byte. Tuy nhiên, thay vì lưu trữ các số âm, chúng chỉ lưu trữ các giá trị dương, mang lại phạm vi hữu ích từ 0 đến 65,535 (2 ^ 16) - 1). Do lưu trữ giá trị 4 byte (32-bit), nằm trong khoảng từ 0 đến 4,294,967,295 (2 ^ 32 - 1).
Thí dụ
Unsigned int counter = 60 ; // declaration of variable with
type unsigned int and initialize it with 60
Word
Trên bảng mạch dựa trên Uno và ATMEGA khác, một từ lưu trữ một số 16 bit không dấu. Trên Due và Zero, nó lưu trữ một số 32-bit không dấu.
Thí dụ
word w = 1000 ;//declaration of variable with type word and initialize it with 1000
Dài
Các biến dài là các biến kích thước mở rộng để lưu trữ số và lưu trữ 32 bit (4 byte), từ -2,147,483,648 đến 2,147,483,647.
Thí dụ
Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346
không ký lâu
Biến dài không dấu là biến kích thước mở rộng để lưu trữ số và lưu trữ 32 bit (4 byte). Không giống như các độ dài tiêu chuẩn, các độ dài không có dấu sẽ không lưu trữ số âm, làm cho phạm vi của chúng từ 0 đến 4,294,967,295 (2 ^ 32 - 1).
Thí dụ
Unsigned Long velocity = 101006 ;// declaration of variable with
type Unsigned Long and initialize it with 101006
ngắn
Ngắn gọn là kiểu dữ liệu 16 bit. Trên tất cả các Arduinos (dựa trên ATMega và ARM), một short lưu trữ giá trị 16 bit (2 byte). Điều này mang lại một phạm vi từ -32,768 đến 32,767 (giá trị nhỏ nhất là -2 ^ 15 và giá trị lớn nhất là (2 ^ 15) - 1).
Thí dụ
short val = 13 ;//declaration of variable with type short and initialize it with 13
Phao nổi
Kiểu dữ liệu cho số dấu phẩy động là một số có dấu thập phân. Số dấu phẩy động thường được sử dụng để tính gần đúng giá trị tương tự và giá trị liên tục vì chúng có độ phân giải lớn hơn số nguyên.
Các số dấu phẩy động có thể lớn đến 3,4028235E + 38 và nhỏ nhất là -3,4028235E + 38. Chúng được lưu trữ dưới dạng 32 bit (4 byte) thông tin.
Thí dụ
float num = 1.352;//declaration of variable with type float and initialize it with 1.352
gấp đôi
Trên Uno và các bảng dựa trên ATMEGA khác, số dấu phẩy động chính xác gấp đôi chiếm bốn byte. Nghĩa là, việc triển khai kép giống hệt như float, không tăng độ chính xác. Trên Arduino Due, số nhân đôi có độ chính xác 8 byte (64 bit).
Thí dụ
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352