Arduino的快捷與簡單
Arduino是一個面向愛好者,科學(xué)家,藝術(shù)家,設(shè)計師及對嵌入式有興趣的童鞋們。
本文引用地址:http://2s4d.com/article/184333.htmArduino是一個基于開發(fā)源代碼與設(shè)計的軟硬件開發(fā)平臺,使用類似C語言的Processing/writing的開發(fā)環(huán)境。
Arduino是一個不需要懂太多的編輯基礎(chǔ)就可以成功操作各種硬件外設(shè)的系統(tǒng)。
Arduino就是這樣一個快捷的系統(tǒng)。它的硬件電路圖是開放源代碼的,任何人,任何組織都可以免費(fèi)獲取與下載,甚至可以用于自己的產(chǎn)品。Arduino系統(tǒng)使用的微處理以低端的AVR為主,不僅價格便宜,性能也出色。用戶可以將新的bootloader固件燒寫入AVR芯片,在新固件的引導(dǎo)下,用戶就可以通過串口來更新程序,免去了購買調(diào)試器與復(fù)雜的調(diào)試的辛苦——當(dāng)然,這也再次體現(xiàn)其快捷。
Arduino系統(tǒng)下的硬件接口都是按一定標(biāo)準(zhǔn)設(shè)計的,帶來的好處就是如果符合Arduino的硬件標(biāo)準(zhǔn),那么各個硬件之間可以直接連接,就像搭積木一般。不得不說其系統(tǒng)的再次快捷。
豐富的外設(shè)硬件資源。如此方便的、開源的硬件方案,一定受到不少愛好者或者商家的青睞?答案是肯定的?,F(xiàn)在基本Arduino系統(tǒng)的外設(shè)硬件灰常豐富,從存儲設(shè)備的SD讀寫模塊,與互聯(lián)網(wǎng)相關(guān)的以太網(wǎng)模塊,與多媒體相關(guān)的MP3模塊等等。而對于我們用戶來說,硬件PCB已經(jīng)開放提供,也可自己買來成品,按照一定的順序插到Arduino的母板上即可。而軟件驅(qū)動則早就在編譯器中寫好了,使用時,我們只需要將該模塊添加,并調(diào)用相關(guān)函數(shù)即可。Arduino的快捷再次用事實(shí)證明。
Arduino系統(tǒng)的快捷是其它系統(tǒng)無法比擬的。復(fù)雜而深奧的硬件初始化,使得多少人望而卻步,又使得多少人愁得早生華發(fā)(小編痛哭中……)。Arduino系統(tǒng)的開發(fā)應(yīng)用也不乏成功的創(chuàng)新與實(shí)踐。
由Nick Thatche所DIY制作的一款名為Raptor的獨(dú)輪摩托車,和傳統(tǒng)的單輪車一樣,Raptor在行駛時也需要解決平衡問題,但Raptor使用了 IMU gyro 和 Arduino UNO 的搭配,令其具有了自動處理平衡問題的能力。
Arduino系統(tǒng)的快捷就不再多說了,但是也正是由于這種快捷,也使得Arduino系統(tǒng)有些“簡單”。
在Arduino系統(tǒng)下,系統(tǒng)并沒有設(shè)計一個很重要的應(yīng)用,就是定時器函數(shù)的調(diào)用。在Arduino系統(tǒng)下,系統(tǒng)提供了一個精確的延遲函數(shù)供開發(fā)使用,但是在Processing/writing系統(tǒng)下,延遲的應(yīng)用只是讓微處理暫時休息一會,可能當(dāng)初設(shè)計時貌似也不需要中斷的發(fā)生吧!于是,按照普通嵌入式系統(tǒng)開發(fā)需求那樣,想將一部分應(yīng)用移到定時中斷里執(zhí)行的想法在Arduino系統(tǒng)下是行不通的。例如,我想定時刷新一下顯示數(shù)據(jù),在傳統(tǒng)的嵌入式系統(tǒng)里,只需要將刷新的語句放到中斷執(zhí)行函數(shù)中即可。微處理器定時刷新顯示,之后會自己返回到原來的執(zhí)行現(xiàn)場中,再次處理事件,對于main函數(shù)里的事件,中斷事件是不可見的,也是不關(guān)心的。而在Arduino系統(tǒng)下,這種情況就無法發(fā)生了,因?yàn)檠舆t函數(shù)的應(yīng)用只能在main函數(shù)中執(zhí)行。而想精確刷新顯示,那么時間的計算就要考慮到其它程序執(zhí)行與響應(yīng)的時間——這個是顯然無法接受的。
快捷帶來了簡單缺陷。就像那個哲學(xué)問題“一個硬幣有兩個面”。事情總是有好有壞,而我們也只需要把握、利用事物好的一面,減小事件不利的一面。這樣,我們的應(yīng)用才是一個禁得起考驗(yàn)的應(yīng)用,才是一個優(yōu)秀的應(yīng)用。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)c語言相關(guān)文章:c語言教程
評論