單片機的開發一直都是很枯燥的,51直接操做寄存器,stm32的標準庫不人性,和操做寄存器沒啥區別,然而,對於一個mcu的外設來說,管腳是肯定的,功能是肯定的,總得來講是有規律可循的,開發者不該該把時間浪費在驅動編程上,而更多的應該關注業務邏輯。因此stm32在原來的標準庫基礎上升級爲HAL庫,稱爲stm32Cube,同時推出了在pc端使用的CubeMX工具,其目的就是要把那些針對芯片的有規律的機械編程可視化,讓你點點選選就能夠初始化好相關外設的驅動代碼,生成工程項目。進而使用新的stm32Cube庫開發。html
cube庫相比標準庫在封裝及api命名上有必定的進步,固然標準庫的優點就是比cube封裝的弱,更接近底層,能夠學習的芯片架構方面的東西,方便深刻了解底層。編程
下面是一些資源:api
對於CubeMX,咱們拿來規劃芯片引腳使用狀況或者參考其生成的代碼流程。多數狀況下,不該該直接使用其生成的代碼。這是由於基本上所謂的智能化代碼生成都是沒有針對性的複雜冗餘實現。咱們只能拿來參考而不宜直接使用。架構