技术归档文章随笔一句话导航搜索关于

Arduino 语言基础&函数

日期: 2025-03-12 分组: Arduino 标签: Arduino 5分钟 914字

数据类型

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。

1
int a = 10;

unsigned int: 无符号整型数据类型,表示非负整数。范围为 0 到 65,535。

1
unsigned int b = 10;

long: 长整型数据类型,表示较大的整数。范围为 -2,147,483,648 到 2,147,483,647。

1
long c = 100000L;

unsigned long: 无符号长整型数据类型,表示较大的非负整数。范围为 0 到 4,294,967,295。

1
unsigned long d = 100000UL;

float: 浮点型数据类型,用于表示小数。范围约为 -3.4028235E+38 到 3.4028235E+38。

1
float e = 3.14;

double: 双精度浮点型数据类型,在 Arduino 中与 float 相同。

1
double f = 6.28;

char: 字符型数据类型,用于存储单个字符。范围为 -128 到 127。

1
char g = 'A';

unsigned char: 无符号字符型数据类型,表示非负字符值。范围为 0 到 255。

1
unsigned char h = 'B';

数组和字符串

数组: 可以存储多个相同类型的值。数组中的元素通过索引访问。

1
int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含 5 个整数的数组

字符串: 在 Arduino 中,字符串可以用字符数组或 String 类表示。

字符数组:

1
char str[] = "Hello";

String 类:

1
String str = "Hello";

布尔类型

boolean: 布尔型数据类型,表示 true 或 false。

1
boolean flag = true;

特殊类型

byte: 无符号 8 位整型数据类型,范围为 0 到 255。

1
byte i = 255;

word: 无符号 16 位数据类型,范围为 0 到 65,535。

1
word j = 1024;

变量修饰符

const: 表示常量,值不能被修改。

1
const int k = 10;

volatile: 告诉编译器变量的值可能会被外部事件改变,不要优化代码。

1
volatile int l = 0;

static: 表示变量在函数间共享,只初始化一次。

1
static int m = 0;

基本函数

1
// pinMode(pin, mode): 设置指定引脚的模式(输入或输出)。
2
// mode: INPUT,OUTPUT
3
pinMode(13, OUTPUT); // 将引脚 13 设置为输出模式
4
5
// digitalWrite(pin, value): 将高或低电平写入指定的数字引脚。
6
digitalWrite(13, HIGH); // 将引脚 13 设置为高电平
7
8
// digitalRead(pin): 从指定的数字引脚读取高或低电平。
9
int buttonState = digitalRead(2); // 从引脚 2 读取电平状态
10
11
//analogWrite(pin, value): 将模拟值(0-255)写入指定的 PWM 引脚。
12
analogWrite(9, 128); // 在引脚 9 上输出 50% 占空比的 PWM 信号
13
14
// analogRead(pin): 从指定的模拟引脚读取值(0-1023)。
15
int sensorValue = analogRead(A0); // 从引脚 A0 读取模拟值

时间函数

1
// delay(ms): 暂停程序指定的时间(毫秒)。
2
delay(1000); // 暂停程序 1 秒
3
4
//millis(): 返回自 Arduino 板上电或复位以来经过的时间(毫秒)。
5
unsigned long currentTime = millis();
6
7
//delayMicroseconds(us): 暂停程序指定的时间(微秒)。
8
delayMicroseconds(10); // 暂停程序 10 微秒

串口通信函数

1
// Serial.begin(baudRate): 初始化串口通信,并设置波特率。
2
Serial.begin(9600); // 初始化串口通信,波特率为 9600
3
4
// Serial.print(data): 通过串口发送数据。
5
Serial.print("Hello, world!"); // 发送字符串
6
7
// Serial.println(data): 通过串口发送数据,并换行。
8
Serial.println(123); // 发送数字并换行
9
10
// Serial.read(): 从串口读取一个字节的数据。
11
int incomingByte = Serial.read(); // 读取串口数据
12
13
//Serial.available(): 返回可读取的字节数。
14
if (Serial.available() > 0) {
15
int incomingByte = Serial.read();
1 collapsed line
16
}

数学函数

1
// min(x, y): 返回 x 和 y 中的最小值。
2
int minimum = min(5, 10); // 最小值为 5
3
4
//max(x, y): 返回 x 和 y 中的最大值。
5
int maximum = max(5, 10); // 最大值为 10
6
7
//abs(x): 返回 x 的绝对值。
8
int absoluteValue = abs(-10); // 绝对值为 10
9
10
///constrain(x, a, b): 将 x 限制在 a 和 b 之间。
11
int constrainedValue = constrain(15, 10, 20); // 限制后的值为 15
12
13
//map(value, fromLow, fromHigh, toLow, toHigh): 将一个数从一个范围映射到另一个范围。
14
int mappedValue = map(50, 0, 100, 0, 255); // 映射后的值为 127
人应当是有理想的.
文章目录