Arduino常用数据类型简介

常见的Arduino开发板(如Arduino UNOArduino Nano Arduino mega2560等)是基于ATmega的8位微控制器,在Arduino家族中也有一些相对复杂的开发板(如 Arduino Due)是基于32位微控制器。

Arduino开发语言是基于C/C++编程语言的。因此Arduino家族中的8位开发板和32位开发板的基本数据类型是有差别。对于8位开发板来说,int占2字节,double和float占4字节。而对于32位开发板,int占用4字节,double占用8字节。

数据类型

占用字节

数值范围

备注

void

 

 

只用作函数声明,表示没有返回值

boolean / bool

 1

true,false

char

1

-128~127

 Arduino中的char是有符号的,等价于signed char。
char常被是用于储存ASCII字符。如果想存储数据,建议使用byte类型。

unsigned char

1

0~255

 等同于byte和uint8_t类型

byte

1

0~255

 byte类型不是C/C++标准类型,他是Arduino平台下特有的,它实际就是无符号8位整型数据。

int

2

-32768~32767

在基于ATMega的8位微控制器的Arduino开发板如Arduino UNO,Ardunio Mega2560,int占用2字节内存。而对于32位Arduino开发板(如Arduino Due,SAMD)int占4字节。

unsigned int

2

0~65535

 等同于word和uint16_t类型

word

2

0~65535

 

long

4

-2147483648~2147483647

 

unsigned long

4

0 ~ 4,294,967,295

 等同于uint32_t类型

short

2

-32768~32767

 

float

4

-3.4028235E+38~3.4028235E+38

只有6~7位小数精度

double

4

 -3.4028235E+38~3.4028235E+38

在Arduino Due上有8个字节,其余的跟float一样

string

 

 

相当于char类型的数组