『壹』 51單片機和STM32有什麼區別編程語言也可以用匯編語言嗎
1.數據匯流排寬度不一樣,數據匯流排寬度越寬,處理速度越快。2.匯編指令集不同,51是mcs51指令集,stm32是arm指令集。指令集內容相似,但是形式上還是有較大差距。3.51更便宜,性價比更高,懂得人也更多。4.模擬環境不一樣,模擬器也不一樣。5.51沒有知識產權問題,專利已經過期了。6.發展節奏不一樣,51現在是跟跑,STM32是領跑。相似點:都可以用匯編和C語言。建議從單片基本功能開始學起,首先從點亮一顆LED開始,然後是流水燈、中斷等單片各種外設。先把基本功練好,後面才能爬得更高,張飛實戰電子的單
『貳』 stm32跟普通的51單片機在程序編寫方面有什麼區別
1、庫函數不同。由ST廠商推出的STM32系列單片機,ST廠商給了豐富的函數庫,可以直接使用庫函數,所以比起普通的51單片機在程序編寫方面要更加的省時。
2、運行速度不同。普通的51單片機運行速度較慢,特別是雙數據指針,而STM32系列單片機最高工作頻率可達72MHz。
3、便利程度不同。51單片機的任何器件只需要配置寄存器打開就可以進行編程,而STM32系列單片機則需要先打開對應的時鍾,包括開啟後打開外部時鍾(晶振)才開始工作。
4、資源不同。STM32的內部資源(寄存器和外設功能)較普通的51單片機都要多,基本上接近於計算機的CPU了,所以在程序編寫上能有更多的選擇。
5、編程語言選擇不同。STM32基本不會選擇匯編語言了,因為工程量巨大,寄存器太多了,位數也多,而51單片機則多使用匯編語言。至於C語言編程方面的區別就不大了。
參考資料來源:網路-stm32
參考資料來源:網路-51單片機
『叄』 有誰知道:stm32是用C編程好,還是C++編程好如果用C++編程速度會不會變慢
人有多大力就辦多大事」,STM32的功能遠比51、AVR之類的單片機要強大得多,相對來說開發的產品功能比較大,代碼也會比較復雜。
首先有完整的框架是非常必須的,我個人認為這里的框架有兩層,一個是在STM32上移植現有的操作系統或者一些穩定的代碼框架,另外一個是自己的編程風格。
你想很方便的開發相對復雜的東西,建議你首先在STM32上移植一個小型操作系統或一種框架,然後在操作系統之上編寫你自己的應用去開發產品。在沒有操作系統或框架的情況下開發是非常麻煩的事情。要做到條理清晰的話,那就應該去迎合操作系統或框架的風格去編寫代碼,這答案並不唯一。 舉個簡單例子,現在比較熱門的STM32F103或STM32F407開發產品,一般會移植一個ucosii或rt-thread操作系統(當然也有移植linux或android的,但我個人很少見),ucosii我沒實際開發過我就不說了,像rt-thread這樣的實時操作系統,它具有多任務編程,那麼我們就需要迎合它的特點,比如我串口作為一個線程,LCD、LED掃描作為一個線程,數據採集作為一個線程,鍵盤掃描作為一個線程等等,在他們的線程中只各自做自己的事情,然後在增加一個頂層的線程專門來負責處理其他線程所產生的消息事件(或者給其他各線程發送消息事件),頂層的線程是作為一個中心處理線程來合理安排和處理其他各個線程的消息事件。
至於在這方面的提升,只能是通過實踐來達到效果,這里的「實踐」不是說要完全自己去摸索,你需要有東西來借鑒,因為現在一些操作系統、或框架、或編程風格都是比較成熟,你直接拿來看,看看別人是怎麼寫的代碼,然後自己再去仿照著能不能寫的出來,再分析裡面的優缺點。你要是還在學校且資源有限,建議你可以花個幾百塊錢上淘寶買一個開發板,一般的開發板都有各個外設的實驗,以及綜合實驗,或許還會有操作系統或框架的移植和使用