本文作者是milershao
某晚一位不曾謀面的老熟人用QQ問我STM32L151MCU是否必須要開啟HSI才能工作。該工程師也算是STM32 FANS,玩了32F1又玩32F2好久了,對STM32的東西相對比較熟。我印象中32L1系列沒這個要求的,打開手冊查看32L1的相關(guān)RCC部分內(nèi)容,STM32L1的工作除了可用HSI外,還可以有HSE、PLL、MSI的其它選擇。
當我告知STM32L151 MCU并非必須開HSI才能工作時,他說當注釋掉庫函數(shù)中開啟HSI的命令行后,AD就起不來了。并說,之前用STM32F1/F2時就沒這個問題,在STM32L1相關(guān)手冊里沒發(fā)現(xiàn)詳細說明。哦原來這樣。 其實,在32L1系列Reference Manual里的RCC部分,對ADC的時鐘有詳細的明確描述。
顯然,STM32L1系列的ADC時鐘只能來自于HSI。順便提下,STM32L0芯片的ADC時鐘也只能來自于HSI。盡管STM32L1與STM32F1\STM32F2同屬一個CORTEX-M3內(nèi)核,但外設(shè)安排并不一樣,而是各具特色。 其實本案的問題非常簡單,我覺得主要兩方面原因?qū)е聭?yīng)用堵塞。第一是思維定勢使然,覺得32F1/F2都不必這樣,32L1系列這里應(yīng)該差不多。第二應(yīng)該算是ST官方庫帶來的副作用,呵呵。STM32 提供的官方庫極大的方便了開發(fā),使得很多人基本不怎么看手冊就搞定項目,有些人即使做了多個項目后對MCU手冊框架還很陌生,導致類似YES OR NO的簡單問題不能迅速地從技術(shù)手冊中得到答案。
最后順便提下,STM32的低功耗系列中,除了基于CORTEX-M3的STM32L1系列外,還有低端點基于CORTEX-M0+內(nèi)核的STM32L0系列和相對高端點的基于CORTEX-M4內(nèi)核的STM32L4系列。它倆都具有很高的性價比,也屬于ST公司的主推產(chǎn)品系列,可以了解關(guān)注。
|