第二章 基础篇
程序员文章站
2022-03-23 22:36:49
第二章 基础篇Arduino语言及程序结构Arduino语言Arduino使用C/C++语言编写程序通常所说的Arduino语言,是指Arduino核心库文件提供的各种引用程序编程接口(API)的集合增强程序可读性,提高开发效率pinMode(13,OUTPUT);digitalWrite(13,High);这里 pinMode即是设置引脚的模式,这里设定了13脚为输出模式;而 digitalwrite(13,HIGH)则是使13脚输出高电平数字信号。...
第二章 基础篇
Arduino语言及程序结构
Arduino语言
- Arduino使用C/C++语言编写程序
- 通常所说的Arduino语言,是指Arduino核心库文件提供的各种引用程序编程接口(API)的集合
- 增强程序可读性,提高开发效率
pinMode(13,OUTPUT);
digitalWrite(13,High);
- 这里
pinMode
即是设置引脚的模式,这里设定了13脚为输出模式;而digitalwrite(13,HIGH)
则是使13脚输出高电平数字信号。
Arduino程序结构
- 没有main()函数
- main()函数的定义隐藏在了Arduino的核心库文件中。
void setup()
{
//在这里填写setup()函数代码,它只运行一次
}
void loop()
{
//在这里填写loop()函数代码,它会不断重复运行
}
- Arduino程序的基本结构由setup()和loop()两个函数组成。
- Setup()
- Arduino控制器通电或复位后,即会开始执行setup()函数中的程序,该程序只会执行一次。
- 通常是在setup()函数中完成Arduino的初始化设置,如配置I/O口状态和初始化串口等操作。
- loop()
- setup()函数中的程序执行完毕后,Arduino会接着执行loop()函数中的程序。而loop()函数是一个 死循环 ,其中的程序会不断重复运行。
- 通常在loop()函数中完成程序的主要功能,如驱动各种模块和采集数据等。
C/C++语言基础
#只在写一些不同之处,语法部分就不写了~
- 整型 int型 和 unisgned int型占用4字节(32位)
- 浮点型
- 在Arduino中有float和double两种浮点类型,但两者的精度是一样的,都占用4字节(32位)内存空间。
- 浮点型数据的运算较慢且有一定误差,因此,通常会把浮点型转换为整形来处理相关运算。如9.8cm,通常会换算为98mm来计算。
- 字符型
char col = 'c';
- 布尔型
- 它的值只有两个 false(假)和true(真),占用1字节的内存空间。
- 字符串
char 字符串名称 [字符个数];
String 字符串名称;
- 使用String类型定义字符串会占用更多的存储空间。
电子元件和Arduino扩展模块
面包板
传感器扩展版的使用
数字I/O的使用
数字信号
- 高电平为数字信号1,低电平为数字信号0。
- Arduino上每一个带有数字编号的引脚都是数字引脚,包括写有“A”编号的模拟输入引脚。使用这些引脚可以完成输入/输出数字信号的功能。
- 在使用输出或输出功能前,需要先通过
pinMode()函数
配置引脚的模式为输出或输出模式,即
pinMode(pin,mode);
其中pin为指定配置的引脚编号,参数mode为指定的配置模式。可以使用三种模式
模式名称 | 说明 |
---|---|
INPUT | 输入模式 |
OUTPUT | 输出模式 |
INPUT_PULLUP | 输入上拉模式 |
pinMode(13,OUTPUT)
就是把13号引脚配置为输出模式
- 配置为输出模式以后,还需要使用
digitalWrite()函数
是该引脚输出高电平或低电平。
digitalWrite(pin,value);
其中参数pin为指定输出的引脚编号。参数value为要指定的输出电平,使用HIGH指定输出高电平,使用LOW指定输出低电平。
- 数字引脚处理用于输出信号外,还可以用
digitalRead()函数
读取外部输入的数字信号,其调用形式为:
digitalReal(pin);
- 在Arduino核心库中,OUTPUT被定义为1,INPUT被定义0,HIGH被定义为1,LOW被定义为0。因此这里也可以用数字替代这些定义。如:
pinMode(13,1);
digitalWrite(13,1);
/*
* Blink
* 等待一秒种,点亮LED,再等待一秒钟,熄灭LED,如此循环
*/
//在大多数Arduino控制板上,13号引脚都链接了一个标有“L”的LED灯
//给13号引脚链接的设备设置一个别名“led”
int led = 13;
//在板子启动或者复位重启后,setup部分的程序只会运行一次
void setup() {
// 将“led”引脚设置为输出状态
pinMode(led,OUTPUT);
}
// setup部分程序运行完后,loop部分的程序会不断重复运行
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
- 给13号引脚链接的设备设置一个别名“led”。这种写法可以提高程序的可读性,并且便于修改。
流水灯实验(实际实验时编辑补充在此)
本文地址:https://blog.csdn.net/qq_31714533/article/details/109269350
上一篇: 为什么有了MAC层还要走IP层呢?