Arduino - Veri Türleri

C'deki veri türleri, farklı türlerdeki değişkenleri veya işlevleri bildirmek için kullanılan kapsamlı bir sistemi ifade eder. Bir değişkenin türü, depoda ne kadar yer kapladığını ve depolanan bit deseninin nasıl yorumlandığını belirler.

Aşağıdaki tablo, Arduino programlaması sırasında kullanacağınız tüm veri türlerini göstermektedir.

geçersiz Boole kömür İmzasız karakter bayt int İmzasız int kelime
uzun İmzasız uzun kısa yüzer çift dizi String-char dizisi Dize nesnesi

geçersiz

Void anahtar sözcüğü yalnızca işlev bildirimlerinde kullanılır. İşlevin çağrıldığı işleve hiçbir bilgi döndürmemesinin beklendiğini belirtir.

Misal

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

Boole

Bir Boole, doğru veya yanlış olmak üzere iki değerden birini içerir. Her Boolean değişkeni bir bayt bellek kaplar.

Misal

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

Bir karakter değerini saklayan bir bayt bellek alan bir veri türü. Karakter değişmezleri şu şekilde tek tırnak içinde yazılır: 'A' ve birden çok karakter için dizeler çift tırnak kullanır: "ABC".

Ancak karakterler sayı olarak saklanır. ASCII grafiğinde belirli kodlamayı görebilirsiniz . Bu, karakterin ASCII değerinin kullanıldığı karakterler üzerinde aritmetik işlemler yapmanın mümkün olduğu anlamına gelir. Örneğin, büyük harf A'nın ASCII değeri 65 olduğundan 'A' + 1, 66 değerine sahiptir.

Misal

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

imzasız karakter

Unsigned charbir bayt bellek kaplayan işaretsiz bir veri türüdür. İşaretsiz karakter veri türü, 0 ile 255 arasındaki sayıları kodlar.

Misal

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

bayt

Bir bayt, 0 ile 255 arasında 8 bitlik işaretsiz bir sayı depolar.

Misal

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

int

Tam sayılar, sayı depolaması için birincil veri türüdür. int 16 bitlik (2 bayt) bir değer depolar. Bu, -32.768 ila 32.767 aralığında bir sonuç verir (minimum değer -2 ^ 15 ve maksimum değer (2 ^ 15) - 1).

intboyut tahtadan tahtaya değişir. Örneğin, Arduino Due üzerinde birint32 bitlik (4 bayt) bir değer depolar. Bu, -2.147.483.648 ile 2.147.483.647 aralığında bir sonuç verir (minimum -2 ^ 31 değeri ve maksimum (2 ^ 31) - 1 değeri).

Misal

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

İmzasız int

İmzasız tamsayılar (işaretsiz tamsayılar), 2 baytlık bir değeri saklama biçimiyle int ile aynıdır. Negatif sayıları saklamak yerine, yalnızca pozitif değerleri saklarlar ve 0 ila 65.535 (2 ^ 16) - 1) arasında yararlı bir aralık sağlarlar. Due, 0 ile 4.294.967.295 (2 ^ 32 - 1) arasında değişen 4 baytlık (32 bit) bir değer depolar.

Misal

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

Kelime

Uno ve diğer ATMEGA tabanlı kartlarda, bir kelime 16 bitlik işaretsiz bir sayı depolar. Due ve Zero'da 32 bitlik işaretsiz bir sayı depolar.

Misal

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

Uzun

Uzun değişkenler, sayı depolama için genişletilmiş boyut değişkenleridir ve -2.147.483.648'den 2.147.483.647'ye 32 bit (4 bayt) depolar.

Misal

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

imzasız uzun

İmzasız uzun değişkenler, sayı saklama için genişletilmiş boyut değişkenleridir ve 32 bit (4 bayt) depolar. Standart uzunlardan farklı olarak, işaretsiz uzunlar negatif sayıları saklamaz ve bu da aralıklarını 0 - 4.294.967.295 (2 ^ 32 - 1) yapar.

Misal

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

kısa

Kısa, 16 bitlik bir veri türüdür. Tüm Arduino'larda (ATMega ve ARM tabanlı), kısa bir 16 bitlik (2 bayt) değer depolar. Bu, -32.768 ila 32.767 aralığında bir sonuç verir (minimum değer -2 ^ 15 ve maksimum değer (2 ^ 15) - 1).

Misal

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

yüzer

Kayan noktalı sayı için veri türü, ondalık noktası olan bir sayıdır. Kayan nokta sayıları genellikle analog ve sürekli değerlere yaklaşmak için kullanılır çünkü tamsayılardan daha yüksek çözünürlüğe sahiptirler.

Kayan nokta sayıları 3.4028235E + 38 kadar büyük ve -3.4028235E + 38 kadar düşük olabilir. 32 bit (4 bayt) bilgi olarak saklanırlar.

Misal

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

çift

Uno ve diğer ATMEGA tabanlı kartlarda, Çift duyarlıklı kayan nokta sayısı dört baytı kaplar. Yani, çift gerçekleme tam olarak float ile aynıdır ve hassasiyette kazanç yoktur. Arduino Due'de, çiftler 8 bayt (64 bit) hassasiyete sahiptir.

Misal

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