寫在前面,首先是發現有網友對Arduino作了介紹,並且介紹比較清晰到位,就引用過來了。 文章出處:https://blog.csdn.net/TonyIOT/article/details/80912008編程
提綱:網絡
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各類型號的arduino板)和軟件(arduino IDE),她適用於藝術家、設計師、愛好者和對於「互動」有興趣的朋友們。
Arduino能經過各類各樣的傳感器來感知環境,經過控制燈光、馬達和其餘的裝置來反饋、影響環境。板子上的微控制器能夠經過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器。
對Arduino的編程是利用 Arduino編程語言 (基於 Wiring)和Arduino開發環境(based on Processing)來實現的。基於Arduino的項目,能夠只包含Arduino,也能夠包含Arduino和其餘一些在PC上運行的軟件,他們之間進行通訊 (好比 Flash, Processing, MaxMSP)來實現。
你能夠本身動手製做,也能夠購買成品套裝。Arduino所使用到的軟件均可以避免費下載。硬件參考設計 (CAD 文件)也是遵循availableopen-source協議, 你能夠很是自由地根據要求去修改他們。編程語言
目前市場上還有許多其餘的單片機和單片機平臺,例如51單片機、STM32單片機等。但他們對於普通開發者來講門檻相對較高,須要有必定編程和硬件相關基礎,內部寄存器較爲繁雜,主流開發環境Keil配置相對麻煩,特別是對於STM32的開發,即便使用官方庫也少不了環境配置,還有就是開發環境是收費的。
Arduino不但簡化了使用單片機工做的流程,同時還爲教師、學生以及興趣愛好者提供了一些其餘系統不具有的優點:工具
Arduino生態包括多種開發板、模塊、擴展板、工具和配件。官方將其大體分爲五類:入門級、網絡版、物聯網版、教育版、可穿戴版。具體可從官網查看Arduino開發板類型。性能
其中入門級開發板易於使用。建議初學者使用入門級如Arduino UNO R3。學習
使用入門級產品開始使用Arduino:易於使用並隨時爲您的第一個創意項目提供支持。這些電路板和模塊是開始學習和修補電子和編碼的最佳選擇。StarterKit包含一本包含15個教程的書,能夠引導您完成複雜項目的基礎知識。ui
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,能進行直觀控制,加強程序的可讀性的同時也提升了開發效率。
編碼