都2022年了還有人說arduino是一種單片機
都2022年了還有人說arduino是一種單片機

身邊有很多人都在說arduino是一種單片機,這是犯了一個小錯誤,雖然無傷大雅入門之后就會懂得其中的區(qū)別,但是對于新手來說,還是會有很多人疑惑,這篇文章將面向新手介紹arduino與單片機的區(qū)別。
首先來了解一下什么是單片機:單片機是一種采用了超大規(guī)模電路把CPU,RAM(隨機存儲器),ROM(只讀存儲器),IO口,定時器,中斷等集成到一個小型硅片上的完善的微型計算機系統(tǒng)。
注意一下,單片機是一個計算機系統(tǒng)。它和各位使用的電腦主機沒有本質(zhì)區(qū)別。不過各位的電腦主機體型更大,性能更強。
那么又什么是arduino呢?
arduino是一種開源電子開發(fā)平臺。注意,它是一個平臺,不是指某一種單片機。
當各位學(xué)習(xí)做一些東西時,就會發(fā)現(xiàn)基礎(chǔ)的單片機編程十分復(fù)雜。你需要直接操作寄存器,處理中斷,定時器等等等等,開發(fā)速度很長。
在這種情況下,arduino應(yīng)運而生。arduino是將單片機的使用與控制高度封裝后的產(chǎn)生的一個平臺。
比如你基于固件庫操作stm32使用串口通訊,需要初始化串口信息:IO口復(fù)用,串口參數(shù)設(shè)置,使能時鐘等等。直接操作寄存器會更加復(fù)雜。
在arduino中,你初始化串口只需要一條語句。相信使用過arduino的同學(xué)應(yīng)該都有所了解。
再舉個經(jīng)典一點的例子,比如你要造一輛汽車,arduino就是利用別人已經(jīng)做好的零件直接組合拼裝,雖然你不知道這些零件的工作原理,但是只要你知道這些零件的作用你就可以做出來一輛車子。大多數(shù)單片機都是你要用別人提供的材料制作零件,然后組裝汽車。這樣子做出來的車子你對它性能的了解也會更深刻。
還經(jīng)常有人會問我大學(xué)應(yīng)該學(xué)習(xí)arduino還是像stm32之類的單片機。
我的建議是:分情況而定
如果你的專業(yè)是電子相關(guān)專業(yè),并且今后會從事單片機相關(guān)的工作,那么建議你從51開始深入學(xué)習(xí)。
如果你的專業(yè)非電子相關(guān),你又