Arduino - typy danych
Typy danych w C odnoszą się do rozbudowanego systemu używanego do deklarowania zmiennych lub funkcji różnych typów. Typ zmiennej określa, ile miejsca zajmuje ona w pamięci i jak jest interpretowany przechowywany wzór bitowy.
Poniższa tabela zawiera wszystkie typy danych, których będziesz używać podczas programowania Arduino.
unieważnić | Boolean | zwęglać | Niepodpisany znak | bajt | int | Unsigned int | słowo |
długie | Długo bez znaku | krótki | pływak | podwójnie | szyk | Tablica ciągów znaków | Obiekt łańcuchowy |
unieważnić
Słowo kluczowe void jest używane tylko w deklaracjach funkcji. Wskazuje, że funkcja ma nie zwrócić żadnych informacji do funkcji, z której została wywołana.
Przykład
Void Loop ( ) {
// rest of the code
}
Boolean
Boolean zawiera jedną z dwóch wartości, prawda lub fałsz. Każda zmienna boolowska zajmuje jeden bajt pamięci.
Przykład
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
Zwęglać
Typ danych zajmujący jeden bajt pamięci, który przechowuje wartość znakową. Literały znakowe są zapisywane w pojedynczych cudzysłowach, w ten sposób: „A”, a dla wielu znaków w łańcuchach stosuje się podwójne cudzysłowy: „ABC”.
Jednak znaki są przechowywane jako liczby. Możesz zobaczyć konkretne kodowanie na wykresie ASCII . Oznacza to, że możliwe jest wykonywanie operacji arytmetycznych na znakach, w których używana jest wartość ASCII znaku. Na przykład „A” + 1 ma wartość 66, ponieważ wartość ASCII dużej litery A wynosi 65.
Przykład
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
unsigned char
Unsigned charjest typem danych bez znaku, który zajmuje jeden bajt pamięci. Typ danych unsigned char koduje liczby od 0 do 255.
Przykład
Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it with character y
bajt
Bajt przechowuje 8-bitową liczbę bez znaku, od 0 do 255.
Przykład
byte m = 25 ;//declaration of variable with type byte and initialize it with 25
int
Liczby całkowite są podstawowym typem danych do przechowywania liczb. int przechowuje wartość 16-bitową (2-bajtową). Daje to zakres od -32 768 do 32767 (minimalna wartość -2 ^ 15 i maksymalna wartość (2 ^ 15) - 1).
Plik introzmiar różni się w zależności od deski. Na przykład w Arduino Due plikintprzechowuje wartość 32-bitową (4-bajtową). Daje to zakres od -2 147 483 648 do 2 147 483 647 (minimalna wartość -2 ^ 31 i maksymalna (2 ^ 31) - 1).
Przykład
int counter = 32 ;// declaration of variable with type int and initialize it with 32
Unsigned int
Liczba int bez znaku (liczby całkowite bez znaku) jest taka sama jak int, ponieważ przechowują 2-bajtową wartość. Jednak zamiast przechowywać liczby ujemne, przechowują tylko wartości dodatnie, dając użyteczny zakres od 0 do 65 535 (2 ^ 16) - 1). Due przechowuje 4-bajtową (32-bitową) wartość z zakresu od 0 do 4 294 967 295 (2 ^ 32 - 1).
Przykład
Unsigned int counter = 60 ; // declaration of variable with
type unsigned int and initialize it with 60
Słowo
Na płytach Uno i innych opartych na ATMEGA słowo przechowuje 16-bitową liczbę bez znaku. Na Due and Zero przechowuje 32-bitową liczbę bez znaku.
Przykład
word w = 1000 ;//declaration of variable with type word and initialize it with 1000
Długie
Długie zmienne to zmienne o rozszerzonym rozmiarze do przechowywania liczb i przechowują 32 bity (4 bajty), od -2 147 483 648 do 2 147 483 647.
Przykład
Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346
unsigned long
Długie zmienne bez znaku to zmienne o rozszerzonym rozmiarze do przechowywania liczb i przechowują 32 bity (4 bajty). W przeciwieństwie do standardowych długich długości, długie bez znaku nie będą przechowywać liczb ujemnych, dzięki czemu ich zakres wynosi od 0 do 4 294 967 295 (2 ^ 32 - 1).
Przykład
Unsigned Long velocity = 101006 ;// declaration of variable with
type Unsigned Long and initialize it with 101006
krótki
Skrót to 16-bitowy typ danych. We wszystkich Arduino (opartych na ATMega i ARM), short przechowuje 16-bitową (2-bajtową) wartość. Daje to zakres od -32 768 do 32767 (minimalna wartość -2 ^ 15 i maksymalna wartość (2 ^ 15) - 1).
Przykład
short val = 13 ;//declaration of variable with type short and initialize it with 13
pływak
Typ danych dla liczby zmiennoprzecinkowej to liczba z kropką dziesiętną. Liczby zmiennoprzecinkowe są często używane do przybliżania wartości analogowych i ciągłych, ponieważ mają większą rozdzielczość niż liczby całkowite.
Liczby zmiennoprzecinkowe mogą być tak duże, jak 3,4028235E + 38 i tak niskie, jak -3,4028235E + 38. Są przechowywane jako 32 bity (4 bajty) informacji.
Przykład
float num = 1.352;//declaration of variable with type float and initialize it with 1.352
podwójnie
Na płytach Uno i innych opartych na ATMEGA liczba zmiennoprzecinkowa podwójnej precyzji zajmuje cztery bajty. Oznacza to, że podwójna implementacja jest dokładnie taka sama jak zmiennoprzecinkowa, bez zwiększenia precyzji. W Arduino Due dublety mają 8-bajtową (64-bitową) precyzję.
Przykład
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352