hal庫和標準庫的區別?
ST為開發者提供了非常方便的開發庫。到目前為止,有標準外設庫(STD庫)、HAL庫、LL庫 三種。
其中標準庫與HAL庫最常用,LL庫只是最近新添加的。標準外設庫(Standard Peripherals Library)是對STM32芯片的一個完整的封裝,包括所有標準器件外設的器件驅動器。這應該是目前使用最多的ST庫,幾乎全部使用C語言實現。但是,標準外設庫也是針對某一系列芯片而言的,沒有可移植性。HAL庫與新增的LL庫,都是ST公司提供的新標準庫,包含在ST為新的標準庫注冊了一個新商標:STMCube?當中。LL庫和HAL庫兩者相互獨立,只不過LL庫更底層。而且,部分HAL庫會調用LL庫(例如:USB驅動)。同樣,LL庫也會調用HAL庫。可以說HAL庫就是用來取代之前的標準外設庫的。相比標準外設庫,STM32Cube HAL庫表現出更高的抽象整合水平,HAL API集中關注各外設的公共函數功能,這樣便于定義一套通用的用戶友好的API函數接口,從而可以輕松實現從一個STM32產品移植到另一個不同的STM32系列產品。HAL庫是ST未來主推的庫,從前年開始ST新出的芯片已經沒有STD庫了,比如F7系列。現在,ST主推HAL庫,目前,HAL庫已經支持STM32全線產品。比較:新芯片現在只推出HAL庫,HAL庫與標準庫比較,所用的API函數不一樣,兩者也相互獨立,優勢在于可以用cubeMX生成代碼。(ST專門為其開發了配套的桌面軟件STMCubeMX,開發者可以直接使用該軟件進行可視化配置,大大節省開發時間。)