欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第二章 基础篇

程序员文章站 2022-07-05 21:15:17
第二章 基础篇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

相关标签: Arduino