文章目錄
歡迎來到Arduino的世界,本文主要介紹Arduino是什么,為什么Arduino廣受歡迎,如何選擇一款適合自己的Arduino控制器、Arduino開發(fā)工具、Arduino的數(shù)據(jù)類型、變量和常量,結(jié)合Arduino常用的基本函數(shù),就可以制作各種小作品。想要了解更多信息,請(qǐng)進(jìn)入Arduino官網(wǎng)。
1 什么是Arduino
Arduino是一個(gè)能夠用來感應(yīng)和控制現(xiàn)實(shí)物理世界的一套工具。它由一個(gè)基于單片機(jī)并且開放源碼的硬件平臺(tái),和一套為Arduino板編寫程序的開發(fā)軟件組成。它的硬件包含一個(gè)以 Atmel AVR 單片機(jī)為核心的開發(fā)板和其他各種 I/O 板;軟件包括一個(gè)標(biāo)準(zhǔn)編程語言開發(fā)環(huán)境和在開發(fā)板上運(yùn)行的燒錄程序。Arduino 主要是為業(yè)余愛好者的使用而設(shè)計(jì)的,被設(shè)計(jì)成一個(gè)小型計(jì)算機(jī)的形式,可以作為嵌入式計(jì)算機(jī)平臺(tái),所以說它是一個(gè)交互系統(tǒng),可以通過硬件和軟件與它的環(huán)境進(jìn)行互動(dòng)。例如,它可以讀取大量的開關(guān)和傳感器信號(hào),可以檢測(cè)到光線的有無和強(qiáng)弱、可以檢測(cè)到手指按下按鍵、甚至可以檢測(cè)到微信上的新消息;并將這些感受到的“信號(hào)”轉(zhuǎn)換為動(dòng)作 比如電機(jī)動(dòng)一下、LED 燈的打開或關(guān)閉、在互聯(lián)網(wǎng)上發(fā)布一條信息等;Arduino也可以開發(fā)出與 PC 相連的周邊裝置,能在運(yùn)行時(shí)與 PC 上的軟件進(jìn)行通信。
Arduino 本質(zhì)上就是一塊單片機(jī),但它拋開了傳統(tǒng)硬件開發(fā)的復(fù)雜操作,不需要了解硬件的內(nèi)部結(jié)構(gòu)和寄存器設(shè)置(如果是單片機(jī)開發(fā),是需要了解寄存器并且設(shè)置各個(gè)寄存器),也不需要過多的電子知識(shí)和編程知識(shí),開發(fā)者只需要通過簡(jiǎn)單學(xué)習(xí),了解各個(gè)引腳和函數(shù)的作用,便可利用它開發(fā)出各種出色的項(xiàng)目。
2 為什么選擇Arduino作為開發(fā)平臺(tái)
目前市場(chǎng)上還有許多其他的單片機(jī)和單片機(jī)平臺(tái),例如51單片機(jī)、STM32單片機(jī)等。但他們對(duì)于普通開發(fā)者來說門檻相對(duì)較高,需要有一定編程和硬件相關(guān)基礎(chǔ),內(nèi)部寄存器較為繁雜,主流開發(fā)環(huán)境Keil配置相對(duì)麻煩,特別是對(duì)于STM32的開發(fā),即使使用官方庫也少不了環(huán)境配置,還有就是開發(fā)環(huán)境是收費(fèi)的。
Arduino 不但簡(jiǎn)化了使用單片機(jī)工作的流程,同時(shí)還為教師、學(xué)生以及興趣愛好者提供了一些其他系統(tǒng)不具備的優(yōu)勢(shì):
1、性價(jià)比高
相比于其他單片機(jī)平臺(tái)而言,Arduino生態(tài)的各種開發(fā)板性價(jià)比相對(duì)較高,也可以自己動(dòng)手制作開發(fā)板。
2、跨平臺(tái)
Arduino IDE可以在 Windows、Mac OS X和 Linux 三大主流操作系統(tǒng)上運(yùn)行,而其他的大多數(shù)控制器只能在 Windows 上開發(fā)。
3.簡(jiǎn)單清晰的開發(fā)
Arduino IDE基于Processing IDE開發(fā),這對(duì)于初學(xué)者來說極易掌握,同時(shí)對(duì)于高級(jí)用戶來說又有著足夠的靈活性。Arduino語言是基于 Wiring 語言開發(fā)的,是對(duì)AVR-GCC庫的二次封裝,并不需要太多的單片機(jī)基礎(chǔ)和編程基礎(chǔ),只要簡(jiǎn)單地學(xué)習(xí)后就可以快速地進(jìn)行開發(fā)。
4.開放性
Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開源的,在開源協(xié)議范圍內(nèi)可以任意修改原始設(shè)計(jì)及相應(yīng)代碼。
5.社區(qū)與第三方支持
Arduino有著眾多的開發(fā)者和用戶,因此可以找到他們提供的眾多開源的示例代碼和硬件設(shè)計(jì)。例如,可以在Github.com、Arduino.cc、 Openjumper.com、Arduino中文社區(qū)等網(wǎng)站上找到 Arduino 的第三方硬件、外設(shè)和類庫等支持,以便更快、更簡(jiǎn)單地?cái)U(kuò)展自己的Arduino項(xiàng)目。
6.硬件開發(fā)趨勢(shì)
Arduino 不僅僅是全球最流行的開源硬件,也是一個(gè)優(yōu)秀的硬件開發(fā)平臺(tái),更是硬件開發(fā)的趨勢(shì)。Arduino簡(jiǎn)單的開發(fā)方式使得開發(fā)者更關(guān)注于創(chuàng)意與實(shí)現(xiàn),可以更快地完成自己的項(xiàng)目開發(fā),大大節(jié)約學(xué)習(xí)的成本,縮短開發(fā)的周期。
鑒于 Arduino 的種種優(yōu)勢(shì),越來越多的專業(yè)硬件開發(fā)者已經(jīng)或開始使用 Arduino 來開發(fā)項(xiàng)目和產(chǎn)品;越來越多的軟件開發(fā)者使用 Arduino 進(jìn)入硬件、物聯(lián)網(wǎng)等開發(fā)領(lǐng)域。
3 Arduino硬件
3.1 Arduino開發(fā)板的類型
根據(jù)使用的不同微控制器,可提供各種 Arduino 板。然而,所有 Arduino 板都有一個(gè)共同點(diǎn):它們通過 Arduino lDE 編程。
差異基于輸入和輸出的數(shù)量(可以在單個(gè)板上使用的傳感器,LED和按鈕的數(shù)量),速度,工作電壓,外形尺寸等。一些板被設(shè)計(jì)為嵌入式,并且沒有編程接口(硬件),因此你需要單獨(dú)購(gòu)買。有些可以直接從3.7V電池運(yùn)行,其他至少需要5V。
以下是可用的不同Arduino板的列表。
板名稱 | 工作電壓 | 時(shí)鐘速度 | 數(shù)字i/o | 模擬輸入 | PWM | UART | 編程接口 |
---|---|---|---|---|---|---|---|
Arduino Uno R3 | 5V | 16MHz | 14 | 6 | 6 | 1 | USB通過ATMega16U2 |
Arduino Uno R3 SMD | 5V | 16MHz | 14 | 6 | 6 | 1 | USB通過ATMega16U2 |
Red Board | 5V | 16MHz | 14 | 6 | 6 | 1 | USB通過FTDI |
Arduino Pro 3.3v/8 MHz | 3.3V | 8MHz | 14 | 6 | 6 | 1 | FTDI兼容頭 |
Arduino Pro 5V/16MHz | 5V | 16MHz | 14 | 6 | 6 | 1 | FTDI兼容頭 |
Arduino mini 05 | 5V | 16MHz | 14 | 8 | 6 | 1 | FTDI兼容頭 |
Arduino Pro mini 3.3v/8mhz | 3.3V | 8MHz | 14 | 8 | 6 | 1 | FTDI兼容頭 |
Arduino Pro mini 5v/16mhz | 5V | 16MHz | 14 | 8 | 6 | 1 | FTDI兼容頭 |
Arduino Ethernet |
5V | 16MHz | 14 | 6 | 6 | 1 | FTDI兼容頭 |
Arduino Fio | 3.3V | 8MHz | 14 | 8 | 6 | 1 | FTDI兼容頭 |
LilyPad Arduino 328 main board | 3.3V | 8MHz | 14 | 6 | 6 | 1 | FTDI兼容頭 |
LilyPad Arduino simply board | 3.3V | 8MHz | 9 | 4 | 5 | 0 | FTDI兼容頭 |
板名稱 | 工作電壓 | 時(shí)鐘速度 | 數(shù)字i/o | 模擬輸入 | PWM | UART | 編程接口 |
---|---|---|---|---|---|---|---|
Arduino Leonardo | 5V | 16MHz | 20 | 12 | 7 | 1 | 本機(jī)USB |
Pro micro 5V/16MHz | 5V | 16MHz | 14 | 6 | 6 | 1 | 本機(jī)USB |
Pro micro 3.3V/8MHz | 5V | 16MHz | 14 | 6 | 6 | 1 | 本機(jī)USB |
LilyPad Arduino USB | 3.3V | 8MHz | 14 | 6 | 6 | 1 | 本機(jī)USB |
板名稱 | 工作電壓 | 時(shí)鐘速度 | 數(shù)字i/o | 模擬輸入 | PWM | UART | 編程接口 |
---|---|---|---|---|---|---|---|
Arduino Mega 2560 R3 | 5V | 16MHz | 54 | 16 | 14 | 4 | USB通過ATMega16U2B |
Mega Pro 3.3V | 3.3V | 8MHz | 54 | 16 | 14 | 4 | FTDI兼容頭 |
Mega Pro 5V | 5V | 16MHz | 54 | 16 | 14 | 4 | FTDI兼容頭 |
Mega Pro Mini 3.3V | 3.3V | 8MHz | 54 | 16 | 14 | 4 | FTDI兼容頭 |
板名稱 | 工作電壓 | 時(shí)鐘速度 | 數(shù)字i/o | 模擬輸入 | PWM | UART | 編程接口 |
---|---|---|---|---|---|---|---|
Arduino Mega 2560 R3 | 3.3V | 84MHz | 54 | 12 | 12 | 4 | 本機(jī)USB |
注:引用自Arduino概述。
3.2 不同開發(fā)板的對(duì)比
在使用 Arduino 控制器完成項(xiàng)目制作之前,應(yīng)該對(duì)各個(gè)型號(hào)有一定的了解,以便選擇適合自己項(xiàng)目的控制器。
1、Arduino UNO
Arduino UNO 是目前使用最廣泛的 Arduino 控制器,具有 Arduino 的所有功能,是初學(xué)者的最佳選擇。在大部分參考書或者開源代碼,都以 UNO 為例子。當(dāng)然,掌握UNO開發(fā)技巧,其他型號(hào)控制器也是類似的,可以很輕松地移植代碼。
2、Arduino MEGA
Arduino Mega 是一個(gè)增強(qiáng)型的Arduino 控制器,相對(duì)于UNO,它提供了更大的存儲(chǔ)空間和更多的輸入/輸出接口,可以控制更多的設(shè)備,是完成較大型項(xiàng)目的較好選擇。
3、Arduino Leonardo
Arduino Leonardo 使用集成了 USB 功能的 AVR 單片機(jī)作為主控芯片,具備其他型號(hào) Arduino 控制器的所有功能之外還可以輕松模擬USB鍵盤/鼠標(biāo)等USB設(shè)備。
4、Arduino Due
Arduino Due 突破性使用了32位的 ARM Cortex-M3 作為主控芯片。它集成了多種外設(shè),有著其他Arduino板無法比擬的性能,是目前最為強(qiáng)大的 Arduino 控制器。
5、小型化的Arduino
常見小型 Arduino 控制器有 Arduino Nano,Arduino Mini,Arduino Micro,Arduino LilyPad 等。這些小型控制器雖然在設(shè)計(jì)上精簡(jiǎn)了許多地方,但使用起來一樣方便。其中 Arduino Mini 和 Arduino Lilypad 需要外部模塊配合來完成程序下載功能。
4 Arduino軟件
4.1 IDE
Arduino提供了Arduino Software IDE,一套以 Java 編寫的跨平臺(tái)應(yīng)用軟件。Arduino Software IDE 源自于 Processing 編程語言以及 Wiring 計(jì)劃的集成開發(fā)環(huán)境。它是被設(shè)計(jì)于介紹程序編寫給藝術(shù)家和不熟悉程序設(shè)計(jì)的人們,且包含了一個(gè)擁有語法高亮、括號(hào)匹配、自動(dòng)縮進(jìn)和一鍵編譯并將可執(zhí)行文件燒寫入Arduino 硬件中的編輯器。
Arduino Software IDE 使用與C語言和C++相仿的編程語言,并且提供了包含常見的輸入/輸出函數(shù)的Wiring 軟件庫。在使用 GNU toolchain 編譯和鏈接后,Arduino Software IDE 提供了一個(gè)程序“avrdude”用來轉(zhuǎn)換可執(zhí)行檔成為能夠燒寫入Arduino硬件的固件。
4.2 Sketch
使用 Arduino Software IDE 編寫的程序被稱為“sketch”(草圖)。一個(gè)典型的 Arduino C/C++ sketch 程序會(huì)包含兩個(gè)函數(shù),它們會(huì)在編譯后合成為 main() 函數(shù):
- setup():在程序運(yùn)行開始時(shí)會(huì)運(yùn)行一次,用于初始化設(shè)置。
- loop():直到Arduino硬件關(guān)閉前會(huì)重復(fù)運(yùn)行函數(shù)放的代碼。
1 2 3 4 5 6 7 8 9 | // 打開IDE會(huì)自動(dòng)創(chuàng)建一個(gè)sketch模板,如下: void setup() { <!-- --> // put your setup code here, to run once: } void loop() { <!-- --> // put your main code here, to run repeatedly: } |
4.3 編程語言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #define led 2 //定義數(shù)字IO 2的名字為led void setup() //初始化部分 { <!-- --> pinMode(led,OUTPUT); //定義led引腳為輸出模式 } void loop() //主循環(huán) { <!-- --> digitalWrite(led,LOW); //led引腳輸出低電平,點(diǎn)亮led delay(1000); //延時(shí)1000ms digitalWrite(led,HIGH); //led引腳輸出高電平,熄滅led delay(1000); //延時(shí)1s } |
Arduino 程序可由五個(gè)部分組成 :
(1) 導(dǎo)入庫與定義 (可有可無)
1 2 | #include <stdint.h> #define LED 2 |
(2)聲明常量與全域變量 (可有可無)
1 2 | const float PI = 3.14159; int r = 0 ; |
(3)初始化函數(shù)setup() (必要)
1 2 | void setup() { <!-- -->} |
(4)循環(huán)函數(shù)loop() (必要)
1 2 | void loop() { <!-- -->} |
(5)自定義函數(shù) (可有可無)
1 2 3 4 5 | float area( float r) { <!-- --> float a = PI*r*r; return a; } |
其中 setup() 與 loop() 是一定要有的函數(shù) (均無參數(shù)無傳回值),其他則視需要而定。Arduino 語言采用 C/C++ 語法,加上以 Wiring 為基礎(chǔ)的電子設(shè)計(jì)核心庫組合而成,包括 Digital I/O,Analog I/O 等庫.。內(nèi)置的庫可直接調(diào)用,但若有使用第三方庫(例如驅(qū)動(dòng)感測(cè)器模塊所需的庫),則必須使用 include 前置指令引入。此外,也可以用前置指令 define 定義一個(gè)常量或宏 (表達(dá)式)。
前置指令乃 C 編譯器指令, 不屬于 C 語言本身, 其用途有三 :
- 引入頭文件:例如 #include <myLibrary.h> 或 “myLibrary.h”
- 定義常量:例如 #define PI 3.14159
- 定義宏:例如 #define AREA PIrr
所以前置指令的功能之一就是替換,include 就是在標(biāo)頭處以指定之文件內(nèi)容替換;而 #define 就是在程序中用到所定義之常量與宏名稱時(shí),以其內(nèi)容替換。
宏的功能事實(shí)上與函數(shù)類似,不同之處是函數(shù)調(diào)用使用堆棧,而宏則是直接放在源代碼中,由編譯器自動(dòng)進(jìn)行替換,運(yùn)行效率較快 (但若很多地方都要用到時(shí), 編譯后就會(huì)比較大)。
注意:
頭文件可用角括號(hào) < > 或雙引號(hào) " ", 差別是:
- 用雙引號(hào)時(shí), 前置處理器會(huì)先從源文件所在位置開始去搜索頭文件;
- 而用角括號(hào)則會(huì)先從 libraries 目錄開始找.
5 C/C++語言基礎(chǔ)
5.1 數(shù)據(jù)類型
Arduino 家族中的8位開發(fā)板和32位開發(fā)板的基本數(shù)據(jù)類型是有差別。對(duì)于8位開發(fā)板來說,int 占2字節(jié),double 和 float 占4字節(jié)。而對(duì)于32位開發(fā)板,int 占用4字節(jié),double 占用8字節(jié)。下表提供了你將在Arduino編程期間使用的所有數(shù)據(jù)類型。
數(shù)據(jù)類型 | 占用字節(jié) | 數(shù)值范圍 | 說明 |
---|---|---|---|
void | 僅用于函數(shù)聲明,表示沒有返回值 | ||
boolean/bool | 1 | true/false | 每個(gè)布爾變量占一個(gè)字節(jié)的內(nèi)存 |
char | 1 | -128~127 | Arduino中的char是有符號(hào)的,等價(jià)于signed char;char常被是用于儲(chǔ)存ASCII字符;如果想存儲(chǔ)數(shù)據(jù),建議使用byte類型 |
unsigned char | 1 | 0~255 | 等同于byte和uint8_t類型 |
byte | 1 | 0~255 | byte類型不是C/C++標(biāo)準(zhǔn)類型,他是Arduino平臺(tái)下特有的,它實(shí)際就是無符號(hào)8位整型數(shù)據(jù) |
int | 2 | -32768~32767 | 在基于 ATMega 的8位微控制器的Arduino開發(fā)板如Arduino UNO、Ardunio Mega2560,int占用2字節(jié)內(nèi)存;而對(duì)于32位Arduino開發(fā)板(如Arduino Due,SAMD)int占4字節(jié) |
unsigned int | 2 | 0~65536 | 等同于word和uint16_t類型;Due存儲(chǔ)4字節(jié)值 |
word | 2 | 0~65536 | 在Uno和其他基于ATMEGA的板上,一個(gè)word存儲(chǔ)一個(gè)16位無符號(hào)數(shù);在Due和Zero上,它存儲(chǔ)一個(gè)32位無符號(hào)數(shù) |
long | 4 | -2147483648~2147483647 | 用于數(shù)字存儲(chǔ)的擴(kuò)展大小變量 |
unsigned long | 4 | 0~2^32-1 | 等同于uint32_t類型 |
short | 2 | -32768~32767 | 短整型 |
float | 4 | -3.4028235E+38~3.4028235E+38 | 只有6~7位小數(shù)精度 |
double | 4 | -3.4028235E+38~3.4028235E+38 | 在Arduino Due上有8個(gè)字節(jié),其余的跟float一樣 |
string | 相當(dāng)于char類型的數(shù)組 | ||
array | 數(shù)組 |
5.2 變量與常量
1、變量范圍
Arduino 使用的C語言中的變量具有名為scope(范圍)的屬性。scope是程序的一個(gè)區(qū)域,有三個(gè)地方可以聲明變量。它們是:
- 在函數(shù)或代碼塊內(nèi)部,稱為局部變量。
- 在函數(shù)參數(shù)的定義中,稱為形式參數(shù)。
- 在所有函數(shù)之外,稱為全局變量。
(1)局部變量
在函數(shù)或代碼塊中聲明的變量是局部變量。它們只能由該函數(shù)或代碼塊中的語句使用。局部變量不能在它們自己之外運(yùn)行。以下是使用局部變量的示例:
1 2 3 4 5 6 | void setup() { <!-- -->} void loop() { <!-- --> int i = 0; } |
(2)全局變量
全局變量在所有函數(shù)之外定義,通常位于程序的頂部。全局變量將在程序的整個(gè)生命周期中保持其真值。全局變量可以被任何函數(shù)訪問。也就是說,一個(gè)全局變量可以在整個(gè)程序中聲明后使用。
以下示例使用全局變量和局部變量:
注意:全局變量、靜態(tài)變量、常量應(yīng)使用大寫字母來命名name,防止混淆且有警示作用。
1 2 3 4 5 6 7 | uint16_t NUMBER = 0; void setup() { <!-- -->} void loop() { <!-- --> int i = 0; } |
5.3 運(yùn)算符
運(yùn)算符是一個(gè)符號(hào),它告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯函數(shù)。C語言具有豐富的內(nèi)置運(yùn)算符,并提供以下類型的運(yùn)算符:
- Arithmetic Operators 算術(shù)運(yùn)算符
- Comparison Operators 比較運(yùn)算符
- Boolean Operators 布爾運(yùn)算符
- Bitwise Operators 位運(yùn)算符
- Compound Operators 復(fù)合運(yùn)算符
5.4 選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)
(1)選擇結(jié)構(gòu)又稱選取結(jié)構(gòu)或分支結(jié)構(gòu)。在編程中,經(jīng)常需要根據(jù)當(dāng)前數(shù)據(jù)做出判斷,以決定下一步的操作。
序號(hào) | 控制語句和描述 |
---|---|
1 |
它采用括號(hào)中的表達(dá)式,后面跟隨語句或語句塊。如果表達(dá)式為真,則執(zhí)行語句或語句塊,否則跳過這些語句。 |
2 |
一個(gè) if 語句后面可以跟隨一個(gè)可選的else語句,當(dāng)表達(dá)式為false時(shí)執(zhí)行。 |
3 |
if 語句后面可以跟隨一個(gè)可選的 else if ... else 語句,其對(duì)于測(cè)試各種條件非常有用。 |
4 |
類似于if語句, switch ... case 通過允許程序員指定應(yīng)在各種條件下執(zhí)行的不同代碼來控制程序的流程。 |
5 |
條件運(yùn)算符? :是C語言中唯一的三元運(yùn)算符。 |
(2)循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),即反復(fù)執(zhí)行某一部分的操作。有兩類循環(huán)結(jié)構(gòu):“當(dāng)”( while)循環(huán)和“直到”(until)循環(huán)。
序號(hào) | 循環(huán)及描述 |
---|---|
1 |
while循環(huán)將會(huì)連續(xù)、無限循環(huán),直到括號(hào)()內(nèi)的表達(dá)式變?yōu)閒alse。必須用一些東西改變被測(cè)試的變量,否則while循環(huán)永遠(yuǎn)不會(huì)退出。 |
2 |
do ... while循環(huán)類似于while循環(huán)。在while循環(huán)中,循環(huán)連續(xù)條件在循環(huán)開始時(shí)測(cè)試,然后再執(zhí)行循環(huán)體。 |
3 |
for循環(huán)執(zhí)行語句預(yù)定的次數(shù)。循環(huán)的控制表達(dá)式在for循環(huán)括號(hào)內(nèi)完全的初始化,測(cè)試和操作。 |
4 |
C語言允許你在另一個(gè)循環(huán)內(nèi)使用一個(gè)循環(huán)。下面的例子說明了這個(gè)概念。 |
5 |
它是沒有終止條件的循環(huán),因此循環(huán)變?yōu)闊o限。 |
[Why]
1、什么是單片機(jī)?它與個(gè)人計(jì)算機(jī)有什么不同?
Ans:一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部份構(gòu)成:中央處理單元CPU(進(jìn)行運(yùn)算、控制)、隨機(jī)存儲(chǔ)器RAM(數(shù)據(jù)存儲(chǔ))、存儲(chǔ)器ROM(程序存儲(chǔ))、輸入/輸出設(shè)備I/O(串行口、并行輸出口等)。在個(gè)人計(jì)算機(jī)(PC)上這些部份被分成若干塊芯片,安裝在一個(gè)被稱之為主板的印刷線路板上。而在單片機(jī)中,這些部份全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機(jī),而且有一些單片機(jī)中除了上述部份外,還集成了其它外設(shè)電路如==模擬量/數(shù)字量轉(zhuǎn)換(A/D)和數(shù)字量/模擬量轉(zhuǎn)換(D/A)==等。
2、 為什么用單片機(jī),如Arduino、STm32,MCS-51等.
Ans:實(shí)際工作中并不是任何涉及計(jì)算和控制的場(chǎng)合都要求處理器或計(jì)算機(jī)有很高的性能,其應(yīng)用的關(guān)鍵在于使用性能(是否夠用)和經(jīng)濟(jì)性(是否有很好的性能價(jià)格比)。
參考
- 初試Arduino:www.tuo13886.net.cn/jichu/Arduino/10320.html
- Arduino概述:https://www.w3cschool.cn/arduino/arduino_overview.html
