define
#define 宏定义
宏定义是一个有用的 C 组件,它允许程序员在程序编译前给常量取一个名字。在 arduino 中定义的
常量不会在芯片中占用任何程序空间。编译器在编译时会将这些常量引用替换为定义的值。
这虽然可能有些有害的副作用,举例来说,一个已被定义的常量名被包含在一些其它的常量或变
量名中。那样的话该文本将被替换成被定义的数字(或文本)。
通常,用 const 关键字定义常量是更受欢迎的且用来代替#define 会很有用。
Arduino 宏定义与 C 宏定义有同样的语法
语法
#define constantName value
注意‘#’是必须的
示例:
#define ledPin 3
// 编译器在编译时会将任何提及 ledPin 的地方替换成数值 3。
提示
#define 语句的后面分号。如果你加了一个,编译器将会在进一步的页面引发奇怪的错误。
#define ledPin 3; // this is an error
类似地,包含一个等号通常也会在进一步的页面引发奇怪的编译错误。
#define ledPin = 3 // this is also an error
include
#include 包含
#include 用于在你的 sketch 中包含外部的库。这使程序员可以访问一个巨大的标准 C 库(预定义函
数集合)的集合。
AVR C 库(AVR 是 Atmel 芯片的一个基准,Arduino 正是基于它)的主参考手册页在这里。
注意#include 和#define 相似,没有分号终止符,且如果你加了,编译器会产生奇怪的错误信息。
示例
该示例包含一个用于输出数据到程序空间闪存的库,而不是内存。这会为动态内存需求节省存储
空间且使需要创建巨大的查找表变得更实际。
#include <avr/pgmspace.h>
prog_uint16_t myConstants[] PROGMEM = {0, 21140, 702 , 9128, 0, 25764, 8456,
0,0,0,0,0,0,0,0,29810,8968,29762,29762,4500};
算术运算符
赋值
=赋值运算符(单个等号)
把等号右边的值存储到等号左边的变量中。
在 C 语言中单个等号被称为赋值运算符。它与在代数课中的意义不同,后者象征等式或相等。赋
值运算符告诉微控制器求值等号右边的变量或表达式,然后把结果存入等号左边的变量中。
评论0