常见的Arduino开发板(如Arduino UNO ,Arduino 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字节。
数据类型 |
占用字节 |
数值范围 |
备注 |
|
|
只用作函数声明,表示没有返回值 |
|
|
true,false |
|
|
1 |
-128~127 |
|
|
1 |
0~255 |
|
|
1 |
0~255 |
|
|
2 |
-32768~32767 |
在基于ATMega的8位微控制器的Arduino开发板如Arduino UNO,Ardunio Mega2560,int占用2字节内存。而对于32位Arduino开发板(如Arduino Due,SAMD)int占4字节。 |
|
2 |
0~65535 |
|
|
2 |
0~65535 |
|
|
4 |
-2147483648~2147483647 |
|
|
4 |
0 ~ 4,294,967,295 |
等同于uint32_t类型 |
|
short |
2 |
-32768~32767 |
|
4 |
-3.4028235E+38~3.4028235E+38 |
只有6~7位小数精度 |
|
4 |
|
在Arduino |
|
|
|
相当于char类型的数组 |