有两点。
第一,防止被修改。const表示本变量为“常变量”,即是一个变量形式的常量,定义后不可修改,只能引用;
第二,节约运行空间。用const修饰的变量,在硬件上会被保存到ROM即“程序存储器”(类似于电脑的硬盘或手机的内存)中。因为用于计算的“随机存储器”RAM(类似于电脑的内存或手机的运存)空间比ROM小很多很多,所以这么做就可以把不用改变值的变量从RAM中移到ROM中,节约系统资源。
————————————————————
其实Arduino定义引脚完全可以使用宏定义,而且宏定义是在预处理阶段,即编译之前,Arduino IDE对代码进行的处理,根本不占用芯片的任何空间。
#define led 13
const关键字是防止定义的变量的值被以外修改!
在芯片本身的结构不发生变化的情况下,芯片引脚的序列都是固定的,在代码里面不需要去修改它,所以,安全起见,一般都把它定义为const类型的。
当然,不定义为const类型的也行,不过,如果程序中意外修改了引脚的序列值,会引起程序出错,并且错误很难查!