不是庫開發,難道是cube?cube開發雖然不是基於標準庫的,但是基於hal庫的。
如果不是用庫開發,那麼就是基於暫存器的。
stm32開發方式無非三種:
1,直接寫暫存器,這種方式要求開發者對微控制器內部構造有一定了解,入門門檻相對較高,任務量較大的工程很少直接對暫存器進行操作了。建議你不要走這條路,但是如果遇到需要程式碼執行效率非常高的時候,那一部分程式碼就要用對暫存器操作來寫了,這個你不要刻意學,遇到問題解決問題就行。
2,用官方標準庫,前幾年,這種方式最為普遍,如果要學的話,野火的原始碼我覺得不錯,我建議看野火的輕鬆玩轉stm32系列教程。
3,最新的是基於stm32cube(基於hal庫),這種方法是先用圖形化程式設計軟體cube來搭好框架,配置好各個外設,然後開發者只用寫較少的程式碼就行。這種方法極大的降低了開發的時間成本,現在較受歡迎。但是hal庫整合化高,執行效率普遍較低,某些特點場合無法滿足要求。但隨著stm32微控制器效能的提升,f4,f7系列的普及以及hal庫的不斷完善,這種方式將取代官方標準庫成為主流。前兩年,關於這種開發方式的教程不多,微雪的教程還不錯,值得推薦,最近有沒有什麼新教程出來,我沒有去調查過。
不是庫開發,難道是cube?cube開發雖然不是基於標準庫的,但是基於hal庫的。
如果不是用庫開發,那麼就是基於暫存器的。
stm32開發方式無非三種:
1,直接寫暫存器,這種方式要求開發者對微控制器內部構造有一定了解,入門門檻相對較高,任務量較大的工程很少直接對暫存器進行操作了。建議你不要走這條路,但是如果遇到需要程式碼執行效率非常高的時候,那一部分程式碼就要用對暫存器操作來寫了,這個你不要刻意學,遇到問題解決問題就行。
2,用官方標準庫,前幾年,這種方式最為普遍,如果要學的話,野火的原始碼我覺得不錯,我建議看野火的輕鬆玩轉stm32系列教程。
3,最新的是基於stm32cube(基於hal庫),這種方法是先用圖形化程式設計軟體cube來搭好框架,配置好各個外設,然後開發者只用寫較少的程式碼就行。這種方法極大的降低了開發的時間成本,現在較受歡迎。但是hal庫整合化高,執行效率普遍較低,某些特點場合無法滿足要求。但隨著stm32微控制器效能的提升,f4,f7系列的普及以及hal庫的不斷完善,這種方式將取代官方標準庫成為主流。前兩年,關於這種開發方式的教程不多,微雪的教程還不錯,值得推薦,最近有沒有什麼新教程出來,我沒有去調查過。