arduino為什麼沒有arm晶元的控制板?
感覺arduino的性能很差啊 arm m3系列性能好多了
題主,Arduino現在已有基於ARM M3的控制器了。
Arduino
Due是第一塊基於32位ARM核心的Arduino控制板,以滿足需要更快速度和更大存儲容量的Arduino控制板的應用需求。
Arduino
Due的處理器核心是Atmel SAM3X8E,擁有54個數字IO口(其中12個可用於PWM輸出),12個模擬輸入,4路UART介面,一個USBOTG介面,兩路DAC(模數轉換),一個電源插座,一個JTAG介面,一個複位按鍵和一個擦寫按鍵。Arduino
Due控制器如下圖所示。
與其他Arduino控制板的區別:①使用32位ARM核心的處理器,比以往使用8位AVR核心的其他Arduino更加強大;②84Mhz的CPU時鐘頻率;③96KBytes的SRAM;④512KBytes的Flash;⑤內部集成DMA控制器,極大地提高了運算速度。
注意:與其他Arduino有所區別,Arduino Due的工作電壓為3.3V。I/O口可承載電壓也為3.3V。如果使用更大的電壓,比如5V加到一個I/O口,可能會燒了晶元。
最後說一句,Arduino開源硬體控制器不需要一味的追求高速、能力強,Arduino火起來的原因是因為它開源,有社區支持,最關鍵的是門檻低,好用,方便。
有。
Arduino只是一個平台,原理上不受MCU限制,但為了硬體兼容及GNU的支持,MCU進行了精挑細選。atmel公司的技術資料詳細、規範和開放,開源組織支持的也好(編譯器),所以arduino開始選擇了它。當前Arduino不支持51,51太弱了,但本人也是最開始從51學起,用51做過幾個實際項目,其中一個是國內空白項目。
但是51為什麼還有市場哪?(1)51的IP核便宜,可以很便宜地集成到自己的晶元中,做成自己公司的晶元。(2)研究所、公司等積累了太多51的應用成功案例,學習其他mcu曲線高,可靠性不知道。(3)51功耗大,這是缺點?可也有一個優點,功耗大,抗干擾強,可靠性好保證。
AVR是開源硬體和軟體(GNU)支持很好的晶元,也是RISC結構的8位機。而51是CISC的(GNU不支持)。51沒有IIC,SPI等介面,太弱了。Arduino平台上也可以運行多任務操作系統的。當前已經支持ARM CM3,也是Atmel公司的。TI借鑒arduino做了個energia ,可以開發TI的mcu和dsp。有個maple支持stm32,是MIT做的,但不是官網板。
當前arduino已經支持esp8266, arm mcu和esp32 arm mcu雙核的。
還有支持很多其他的mcu。參考:STduino原型板如何使用(Arduino Compatible)
Arduino具有兩個其它平台難以企及的優勢:
1、編程語言採用Arduino programming language(基於Wiring),與C++的語法非常接近;2、Arduino IDE(基於Processing),支持windows,linux,Mac OS的簡單好用的編程IDE。由於Arduino平台的這兩個優勢,使得越來越多的硬體平台向Arduino靠攏,越來越多的Arduino Compatible的板子不斷誕生。現在開發一個原型板,不說Arduino Compatible你都不好意思跟別人說。
ARM的興起隨著嵌入式CPU的發展,ARM核心的CPU成為了為了發展的趨勢。尤其是像ST推出的低價卻高性能的STM32基於ARM核心的CPU,使得ARM的價格已經跟8位8051單片機價格差不多了。沒有什麼理由不迎接新的ARM時代了。
如何讓Arduino IDE支持STM32單片機(STM32F103系列)1、下載Arduino IDE
Arduino IDE是非常棒的編程工具,我沒有必要重新創造輪子,所以下載官方Arduino IDE(`需要1.5版本以後)就可以,並且原生支持中文。下載地址:
windows版本:http://downloads.arduino.cc/arduino-1.5.5-windows.exeMac OS版本:http://downloads.arduino.cc/arduino-1.5.5-macosx.ziplinux版本:32位,64位下載後安裝即可。
2、下載STM32 Core文件及安裝為了讓Arduino IDE支持STM32單片機及開發板,你需要下載由MakerLab開發的STM32文件。Github地址:
MakerLabMe/MakerLabBoard · GitHub直接下載zip壓縮包
首先找到Arduino的安裝目錄,windows系統的默認安裝目錄是C:Program FilesArduino,然後依次進入hardware》arduino目錄;Mac系統下是在Applications目錄下或其它你安裝的位置下,名稱位Arduino.app的程序,然後右鍵點擊該程序,選擇Show Package Contents彈出新的目錄,再一次進入Contents/Resources/Java/hardware/arduino目錄;然後下載ZIP壓縮包( https://github.com/MakerLabMe/MakerLabBoard/archive/master.zip ),解壓到上面提到的目錄中,文件名稱必須是stm32,安裝完成後的目錄結構應該是:
hardware/arduino目錄下包含三個文件夾,分別是:avr 、sam和stm32,其中stm32文件夾內就是剛剛解壓的core文件。 如圖:
#首先來到Arduino的安裝目錄然後git clone:
hardware/arduino &> git clone https://github.com/MakerLabMe/MakerLabBoard.git stm32
hardware/arduino &> cd stm32
#完成後,stm32文件夾內應該是這樣的:
hardware/arduino/stm32 &> ls
firmwares programmers.txt system
boards.txt libraries readme.md variants
cores platform.txt sloadhost sloadhost.exe
如果操作正確,打開或重啟Arudino IDE後你就可以看到在Tools(工具)-&>Boards(板)菜單下多了幾個欄目,類似於下圖,IDE在各系統下的顯示有所不同:
如果你可以看到多出的幾個板子類型(板子數量和名稱可能有差異),說明安裝成功。可以開始你的編程之旅了。
下面的板子是MakerLab Sun R1板子,板子介面/IO與Arduino 的Mega及Due板子兼容。
我的淘寶店:MakerLab點擊圖片查看高清大圖。STduino Sun Pinout.不記得在哪裡看到的,其創始人說選擇現在的晶元是因為這是他們當時唯一能找的文檔齊全且能夠小批量購買的晶元。
pcDuino : ARM Cortex A7 Dual Core
有,支持STM32的。基於cortex-m3 arm晶元。不過需要手動導入相應的庫文件:MakerLabMe/MakerLabBoard · GitHub
主要arduino是個51的開發平台,只能搞搞這種單片機單任務的軟體,如果有arm有多線程這些搞起來就複雜了。arduino due採用的是arm m3
推薦閱讀:
※Arduino有什麼炫酷的作品?
※arduino控制舵機所需電源,以及廉價的 flex sensor?
※Arduino 的生命力在哪裡?
※arduino如何才能變成錢?
※Processing 能做什麼?
TAG:Arduino |