日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]Arduino使用C/C++編寫程序,雖然C++兼容C語言,但這是兩種語言,C語言是一種面向過程的編程語言,C++是一種面向?qū)ο蟮木幊陶Z言。早期的Arduino核心庫使用C語言編寫,后來引進了面向?qū)ο蟮乃枷?,目前最新的Arduino核心庫采用C與C++混合編寫而成。

Arduino語言

Arduino使用C/C++編寫程序,雖然C++兼容C語言,但這是兩種語言,C語言是一種面向過程的編程語言,C++是一種面向?qū)ο蟮木幊陶Z言。早期的Arduino核心庫使用C語言編寫,后來引進了面向?qū)ο蟮乃枷?,目前最新的Arduino核心庫采用C與C++混合編寫而成。

通常我們說的Arduino語言,是指Arduino核心庫文件提供的各種應(yīng)用程序編程接口(Application Programming Interface,簡稱API)的集合。這些API是對更底層的單片機支持庫進行二次封裝所形成的。例如,使用AVR單片機的Arduino的核心庫是對AVR-Libc(基于GCC的AVR支持庫)的二次封裝。

傳統(tǒng)開發(fā)方式中,你需要厘清每個寄存器的意義及之間的關(guān)系,然后通過配置多個寄存器來達到目的。

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

[C++] 純文本查看 復(fù)制代碼

?

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

pinMode(13,OUTPUT)即是設(shè)置引腳的模式,這里設(shè)定了13腳為輸出模式;而digitalWrite(13,HIGH) 是讓13腳輸出高電平數(shù)字信號。

這些封裝好的API,使得程序中的語句更容易被理解,我們不用理會單片機中繁雜的寄存器配置,就能直觀的控制Arduino,增強程序的可讀性的同時,也提高了開發(fā)效率。

在上一章我們已經(jīng)看到第一個Arduino程序Blink,如果你使用過C/C++語言,你會發(fā)現(xiàn)Arduino的程序結(jié)構(gòu)與傳統(tǒng)的C/C++結(jié)構(gòu)的不同——Arduino程序中沒有main函數(shù)。

其實并不是Arduino沒有main函數(shù),而是main函數(shù)的定義隱藏在了Arduino的核心庫文件中。Arduino開發(fā)一般不直接操作main函數(shù),而是使用Setup和loop這個兩個函數(shù)。

通過Arduino IDE菜單>文件>示例>01.Basics>BareMinimum可以看到Arduino程序的基本結(jié)構(gòu):

[C++] 純文本查看 復(fù)制代碼

?

代碼
001
002
003
004
005
006
007
008
009
void setup()
{
  // 在這里加入你的setup代碼,它只會運行一次:
}
 
void loop()
{
  // 在這里加入你的loop代碼,它會不斷重復(fù)運行:
}

Arduino程序基本結(jié)構(gòu)由setup() 和loop() 兩個函數(shù)組成:

[C++] 純文本查看 復(fù)制代碼

?

代碼
001
setup()

Arduino控制器通電或復(fù)位后,即會開始執(zhí)行setup() 函數(shù)中的程序,該部分只會執(zhí)行一次。

通常我們會在setup() 函數(shù)中完成Arduino的初始化設(shè)置,如配置I/O口狀態(tài),初始化串口等操作。

[C++] 純文本查看 復(fù)制代碼

?

代碼
001
loop()

在setup() 函數(shù)中的程序執(zhí)行完后,Arduino會接著執(zhí)行l(wèi)oop() 函數(shù)中的程序。而loop()函數(shù)是一個死循環(huán),其中的程序會不斷的重復(fù)運行。

通常我們會在loop() 函數(shù)中完成程序的主要功能,如驅(qū)動各種模塊,采集數(shù)據(jù)等。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

阿聯(lián)酋迪拜2025年8月26日 /美通社/ -- 納斯達克上市公司Robo.ai Inc.今日正式宣布完成品牌煥新升級,并于8月26日正式啟用全新納斯達克股票代碼"...

關(guān)鍵字: AI 人工智能 代碼 智能科技

本文中,小編將對PLC予以介紹,如果你想對它的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: PLC 編程

在下述的內(nèi)容中,小編將會對PLC的相關(guān)消息予以報道,如果PLC是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: PLC 編程 模塊化

北京2025年8月13日 /美通社/ -- 近日,北京積算科技有限公司(以下簡稱"積算科技")推出一站式AlphaFold3在線算力服務(wù),現(xiàn)已開放免費使用。其內(nèi)置優(yōu)化后的AlphaFold3模型,支持...

關(guān)鍵字: ALPHA 代碼 圖形化 蛋白質(zhì)

深圳2025年8月4日 /美通社/ -- 近日,電子元件和工業(yè)品數(shù)字化全球供應(yīng)商歐時RS聯(lián)合四方維(Supplyframe)創(chuàng)新中心成功舉辦 "歐時RS創(chuàng)客沙龍——Arduino主題開放日"?;顒泳劢归_源硬件與編程領(lǐng)軍平...

關(guān)鍵字: Arduino 開源 創(chuàng)客 智能未來

-Cognizant正在籌辦全球最大規(guī)模的氛圍編程活動,以提升數(shù)千名員工的AI素養(yǎng) 為抓住人工智能經(jīng)濟將創(chuàng)造的巨大機遇,Cognizant與Lovable、Windsurf、Cursor、Gemini Code Ass...

關(guān)鍵字: 編程 NI AN PI

我們已經(jīng)看到了如何通過HC-05發(fā)送和接收數(shù)據(jù),但大多數(shù)藍牙應(yīng)用程序需要的不僅僅是發(fā)送和接收。在本教程中,我們將看到如何將HC-05與0.91英寸。OLED顯示屏打印HC-05接收到的數(shù)據(jù)。

關(guān)鍵字: OLED顯示器 Arduino HC-05藍牙模塊

ESP32模塊非常通用,可以通過WiFi連接到各種不同的平臺來發(fā)送和接收數(shù)據(jù)。在本教程中,我們將使用Arduino的物聯(lián)網(wǎng)云平臺(這是完全免費使用)與ESP32。有關(guān)Arduino IoT Cloud的更詳細概述,請查看...

關(guān)鍵字: GPS ESP32模塊 Arduino 物聯(lián)網(wǎng)

在這個中級電子和無線電通信教程中,我們將深入研究使用Arduino平臺和nRF24L01+無線模塊構(gòu)建功能齊全的8+通道RC(無線電控制)發(fā)射器和接收器。該項目結(jié)合了微控制器編程,傳感器集成和射頻通信的核心技能,非常適合...

關(guān)鍵字: Arduino RC控制器 發(fā)射器 接收器

作為飛行員,在空中和地面上,在飛行和飛行前的許多方面保持“安全第一”是很重要的,其中之一就是避免碰撞。過去幾年,即使是小型航空、自由飛行的飛機,如滑翔機、滑翔傘、懸掛式滑翔機等,在未來的無人機中,也開始采用儀器來觀察和讓...

關(guān)鍵字: Arduino ESP32 LED
關(guān)閉