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