arduino相关函数

I/O相关

  • pinMode(pin, mode) 作用:配置引脚以及引脚模式
    • pin:为设置的引脚 1, 2, ...
    • mode:设置引脚的模式
      • OUTPUT:输出模式 INPUT:输入模式 INPUT_PULLUP:上拉输入模式
  • digitalWrite(pin, value) 作用:配置引脚的值,设为高电平或低电平
    • pin:设置的引脚
    • value:HIGH 或 LOW 设置为低电平,相当于0,引脚处于0v 设置为高电平,相当于1,引脚输出3.3v电压或5v电压
  • 注意
    • 模拟输入引脚可用作数字引脚,称为A0、A1等。唯一的例外是Arduino Nano,Pro Mini和Mini的A6和A7引脚,它们只能用作模拟输入。
  • digitalRead(pin) 作用:获取引脚的电平情况
    • pin:引脚编号
  • 注意
    • 如果引脚未连接到任何内容,则可以返回 OR(这可能会随机更改)。

模拟I/O

  • analogReference(type) 作用:配置模拟输入引脚的基准电压(即输入范围的最大值
    • type:要使用的引用类型
      type:
      1. DEFAULT:默认5v或者3.3v为基准电压
      2. INTERNAL:低电压模式,使用片内基准电压
      3. INTERNAL1v1:低电压模式,使用1v为基准电压
      4. INTERNAL2v256:低电压模式,使用2.56v为基准电压
      5. EXTERNAL:扩展接口,施加到AREF引脚的电压(仅限0至5V)用作基准电压源

注意
不要在AREF引脚上使用低于0V或大于5V的外部基准电压!如果在 AREF 引脚上使用外部基准,则必须在调用 analogRead() 之前将模拟基准设置为 EXTERNAL。否则,您将把有源基准电压(内部生成)和 AREF 引脚短路在一起,可能会损坏 Arduino 板上的微控制器

analogRead(pin)

作用:获取指定的模拟引脚读取模拟量,读取周期为100微秒,即最大速度为每秒读取10000次,函数返回值为int型(0~1023)

pin:取的模拟输入引脚编号

analogWrite (pin, value)

作用:通过PWM的模式将模拟值输入到pin,即调用analogWrite()后,相应的pin会产生一个指定占空比的稳定方波。

pin:引脚3或5或6或9或10或11。

value:PWM占空比,PWM输出位数为8,所以其范围在0255,对应占空比为0100%,带PWM功能的引脚标有波浪线'~'。

中断函数

interrupts()和noInterrupts()
作用:interrupts函数和noInterrupts函数分别负责打开与关闭中断,这两个函数均为无返回值的函数,无参数。

attachInterrrupt(interrupt,function,mode)
作用:用于设置外部中断

interrupt:中断源,可选0、1,对应2或3号数字引脚。
function:中断处理函数,当中断发生时执行该子程序部分,其中参数为函数的指针。
mode:触发模式,LOW(低电平触发)、CHANGE(跳变时触发)、RISING(上升沿触发)、FALLING(下降沿触发)。

detachInterrupt(interrupt)

作用:用于取消中断。
interrupt:中断源,可选0、1,对应2或3号数字引脚。

串口相关

  • Serial.begin(speed)函数
功能	使用串口与计算机通信,需要先使用Serial.begin() 初始化ESP8266的串口通信功能
作用	初始化串口,可配置串口的各项参数
入口参数	波特率
        串口通信通常会使用以下波特率:
300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200

此函数下默串口模式为:数据位8,无偶校验,停止位1。

想配置串口模式其函数为:

Serial.begin(speed, config)
参数	说明
speed	波特率
config	数据位、校验位、停止位配置
函数使用:
例如:
Serial.begin(9600,SERIAL_8E2) 是将串口波特率设为9600,数据位8,偶校验,停止位2。

下面就是串口可以用到的模式:
config可选配置	数据位	校验位	停止位
SERIAL_5N1	5	无	1
SERIAL_6N1	6	无	1
SERIAL_7N1	7	无	1
SERIAL_8N1(默认配置)	8	无	1
SERIAL_5N2	5	无	2
SERIAL_6N2	6	无	2
SERIAL_7N2	7	无	2
SERIAL_8N2	8	无	2
SERIAL_5E1	5	偶	1
SERIAL_6E1	6	偶	1
SERIAL_7E1	7	偶	1
SERIAL_8E1	8	偶	1
SERIAL_5E2	5	偶	2
SERIAL_6E2	6	偶	2
SERIAL_7E2	7	偶	2
SERIAL_8E2	8	偶	2
SERIAL_5O1	5	奇	1
SERIAL_6O1	6	奇	1
SERIAL_7O1	7	奇	1
SERIAL_8O1	8	奇	1
SERIAL_5O2	5	奇	2
SERIAL_6O2	6	奇	2
SERIAL_7O2	7	奇	2
SERIAL_8O2	8	奇	2

(2)Serial.print()函数

Serial.print(val)
功能 串口初始化完成后,我们便可以使用Serial.print() 向计算机发送信息了。
作用 向计算机打印信息
val 是你要输出的数据,各种类型的数据均可
还有个进阶函数:

Serial.println(val)
作用 输出完指定数据后,再输出一组回车换行符
(3)Serial.read()函数

作用 接收串口数据

延时函数

  • delay(ms)

posted on 2024-08-07 20:13  lodger47  阅读(423)  评论(0)    收藏  举报

导航