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

當前位置:首頁 > 模擬 > 模擬
[導讀]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支持庫)的二次封裝。

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

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

[C++] 純文本查看 復制代碼

?

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

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

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

在上一章我們已經看到第一個Arduino程序Blink,如果你使用過C/C++語言,你會發(fā)現Arduino的程序結構與傳統的C/C++結構的不同——Arduino程序中沒有main函數。

其實并不是Arduino沒有main函數,而是main函數的定義隱藏在了Arduino的核心庫文件中。Arduino開發(fā)一般不直接操作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控制器通電或復位后,即會開始執(zhí)行setup() 函數中的程序,該部分只會執(zhí)行一次。

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

[C++] 純文本查看 復制代碼

?

代碼
001
loop()

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

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

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

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

關鍵字: AI 人工智能 代碼 智能科技

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

關鍵字: PLC 編程

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

關鍵字: PLC 編程 模塊化

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

關鍵字: ALPHA 代碼 圖形化 蛋白質

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

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

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

關鍵字: 編程 NI AN PI

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

關鍵字: OLED顯示器 Arduino HC-05藍牙模塊

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

關鍵字: GPS ESP32模塊 Arduino 物聯網

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

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

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

關鍵字: Arduino ESP32 LED
關閉