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