当前位置:首页 > 模拟 > 模拟
[导读]Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。

Arduino语言

Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。

通常我们说的Arduino语言,是指Arduino核心库文件提供的各种应用程序编程接口(Application Programming Interface,简称API)的集合。这些API是对更底层的单片机支持库进行二次封装所形成的。例如,使用AVR单片机的Arduino的核心库是对AVR-Libc(基于GCC的AVR支持库)的二次封装。

传统开发方式中,你需要厘清每个寄存器的意义及之间的关系,然后通过配置多个寄存器来达到目的。

而在Arduino中,使用了清楚明了的API替代繁杂的寄存器配置过程,如以下代码

[C++] 纯文本查看 复制代码

?

代码
001
002
pinMode(13,OUTPUT);
digitalWrite(13,HIGH);

pinMode(13,OUTPUT)即是设置引脚的模式,这里设定了13脚为输出模式;而digitalWrite(13,HIGH) 是让13脚输出高电平数字信号。

这些封装好的API,使得程序中的语句更容易被理解,我们不用理会单片机中繁杂的寄存器配置,就能直观的控制Arduino,增强程序的可读性的同时,也提高了开发效率。

在上一章我们已经看到第一个Arduino程序Blink,如果你使用过C/C++语言,你会发现Arduino的程序结构与传统的C/C++结构的不同——Arduino程序中没有main函数

其实并不是Arduino没有main函数,而是main函数的定义隐藏在了Arduino的核心库文件中。Arduino开发一般不直接操作main函数,而是使用Setup和loop这个两个函数。

通过Arduino IDE菜单>文件>示例>01.Basics>BareMinimum可以看到Arduino程序的基本结构:

[C++] 纯文本查看 复制代码

?

代码
001
002
003
004
005
006
007
008
009
void setup()
{
  // 在这里加入你的setup代码,它只会运行一次:
}
 
void loop()
{
  // 在这里加入你的loop代码,它会不断重复运行:
}

Arduino程序基本结构由setup() 和loop() 两个函数组成:

[C++] 纯文本查看 复制代码

?

代码
001
setup()

Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,该部分只会执行一次。

通常我们会在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作。

[C++] 纯文本查看 复制代码

?

代码
001
loop()

在setup() 函数中的程序执行完后,Arduino会接着执行loop() 函数中的程序。而loop()函数是一个死循环,其中的程序会不断的重复运行。

通常我们会在loop() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

阿联酋迪拜2025年8月26日 /美通社/ -- 纳斯达克上市公司Robo.ai Inc.今日正式宣布完成品牌焕新升级,并于8月26日正式启用全新纳斯达克股票代码"...

关键字: AI 人工智能 代码 智能科技

本文中,小编将对PLC予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: PLC 编程

在下述的内容中,小编将会对PLC的相关消息予以报道,如果PLC是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: PLC 编程 模块化

北京2025年8月13日 /美通社/ -- 近日,北京积算科技有限公司(以下简称"积算科技")推出一站式AlphaFold3在线算力服务,现已开放免费使用。其内置优化后的AlphaFold3模型,支持...

关键字: ALPHA 代码 图形化 蛋白质

深圳2025年8月4日 /美通社/ -- 近日,电子元件和工业品数字化全球供应商欧时RS联合四方维(Supplyframe)创新中心成功举办 "欧时RS创客沙龙——Arduino主题开放日"。活动聚焦开源硬件与编程领军平...

关键字: Arduino 开源 创客 智能未来

-Cognizant正在筹办全球最大规模的氛围编程活动,以提升数千名员工的AI素养 为抓住人工智能经济将创造的巨大机遇,Cognizant与Lovable、Windsurf、Cursor、Gemini Code Ass...

关键字: 编程 NI AN PI

我们已经看到了如何通过HC-05发送和接收数据,但大多数蓝牙应用程序需要的不仅仅是发送和接收。在本教程中,我们将看到如何将HC-05与0.91英寸。OLED显示屏打印HC-05接收到的数据。

关键字: OLED显示器 Arduino HC-05蓝牙模块

ESP32模块非常通用,可以通过WiFi连接到各种不同的平台来发送和接收数据。在本教程中,我们将使用Arduino的物联网云平台(这是完全免费使用)与ESP32。有关Arduino IoT Cloud的更详细概述,请查看...

关键字: GPS ESP32模块 Arduino 物联网

在这个中级电子和无线电通信教程中,我们将深入研究使用Arduino平台和nRF24L01+无线模块构建功能齐全的8+通道RC(无线电控制)发射器和接收器。该项目结合了微控制器编程,传感器集成和射频通信的核心技能,非常适合...

关键字: Arduino RC控制器 发射器 接收器

作为飞行员,在空中和地面上,在飞行和飞行前的许多方面保持“安全第一”是很重要的,其中之一就是避免碰撞。过去几年,即使是小型航空、自由飞行的飞机,如滑翔机、滑翔伞、悬挂式滑翔机等,在未来的无人机中,也开始采用仪器来观察和让...

关键字: Arduino ESP32 LED
关闭