数据类型
int,unsigned int,long,unsigned long,float,double,char,unsigned char,int arr[],char str[],String str,boolean,byte,word
基本数据类型
int: 整型数据类型,表示整数。范围为 -32,768 到 32,767。
1int a = 10;unsigned int: 无符号整型数据类型,表示非负整数。范围为 0 到 65,535。
1unsigned int b = 10;long: 长整型数据类型,表示较大的整数。范围为 -2,147,483,648 到 2,147,483,647。
1long c = 100000L;unsigned long: 无符号长整型数据类型,表示较大的非负整数。范围为 0 到 4,294,967,295。
1unsigned long d = 100000UL;float: 浮点型数据类型,用于表示小数。范围约为 -3.4028235E+38 到 3.4028235E+38。
1float e = 3.14;double: 双精度浮点型数据类型,在 Arduino 中与 float 相同。
1double f = 6.28;char: 字符型数据类型,用于存储单个字符。范围为 -128 到 127。
1char g = 'A';unsigned char: 无符号字符型数据类型,表示非负字符值。范围为 0 到 255。
1unsigned char h = 'B';数组和字符串
数组: 可以存储多个相同类型的值。数组中的元素通过索引访问。
1int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含 5 个整数的数组字符串: 在 Arduino 中,字符串可以用字符数组或 String 类表示。
字符数组:
1char str[] = "Hello";String 类:
1String str = "Hello";布尔类型
boolean: 布尔型数据类型,表示 true 或 false。
1boolean flag = true;特殊类型
byte: 无符号 8 位整型数据类型,范围为 0 到 255。
1byte i = 255;word: 无符号 16 位数据类型,范围为 0 到 65,535。
1word j = 1024;变量修饰符
const: 表示常量,值不能被修改。
1const int k = 10;volatile: 告诉编译器变量的值可能会被外部事件改变,不要优化代码。
1volatile int l = 0;static: 表示变量在函数间共享,只初始化一次。
1static int m = 0;基本函数
1// pinMode(pin, mode): 设置指定引脚的模式(输入或输出)。2// mode: INPUT,OUTPUT3pinMode(13, OUTPUT); // 将引脚 13 设置为输出模式4
5// digitalWrite(pin, value): 将高或低电平写入指定的数字引脚。6digitalWrite(13, HIGH); // 将引脚 13 设置为高电平7
8// digitalRead(pin): 从指定的数字引脚读取高或低电平。9int buttonState = digitalRead(2); // 从引脚 2 读取电平状态10
11//analogWrite(pin, value): 将模拟值(0-255)写入指定的 PWM 引脚。12analogWrite(9, 128); // 在引脚 9 上输出 50% 占空比的 PWM 信号13
14// analogRead(pin): 从指定的模拟引脚读取值(0-1023)。15int sensorValue = analogRead(A0); // 从引脚 A0 读取模拟值时间函数
1// delay(ms): 暂停程序指定的时间(毫秒)。2delay(1000); // 暂停程序 1 秒3
4//millis(): 返回自 Arduino 板上电或复位以来经过的时间(毫秒)。5unsigned long currentTime = millis();6
7//delayMicroseconds(us): 暂停程序指定的时间(微秒)。8delayMicroseconds(10); // 暂停程序 10 微秒串口通信函数
1// Serial.begin(baudRate): 初始化串口通信,并设置波特率。2Serial.begin(9600); // 初始化串口通信,波特率为 96003
4// Serial.print(data): 通过串口发送数据。5Serial.print("Hello, world!"); // 发送字符串6
7// Serial.println(data): 通过串口发送数据,并换行。8Serial.println(123); // 发送数字并换行9
10// Serial.read(): 从串口读取一个字节的数据。11int incomingByte = Serial.read(); // 读取串口数据12
13//Serial.available(): 返回可读取的字节数。14if (Serial.available() > 0) {15 int incomingByte = Serial.read();1 collapsed line
16}数学函数
1// min(x, y): 返回 x 和 y 中的最小值。2int minimum = min(5, 10); // 最小值为 53
4//max(x, y): 返回 x 和 y 中的最大值。5int maximum = max(5, 10); // 最大值为 106
7//abs(x): 返回 x 的绝对值。8int absoluteValue = abs(-10); // 绝对值为 109
10///constrain(x, a, b): 将 x 限制在 a 和 b 之间。11int constrainedValue = constrain(15, 10, 20); // 限制后的值为 1512
13//map(value, fromLow, fromHigh, toLow, toHigh): 将一个数从一个范围映射到另一个范围。14int mappedValue = map(50, 0, 100, 0, 255); // 映射后的值为 127