STM32內(nèi)置一個(gè)溫度傳感器,通過(guò)ADC_IN16這個(gè)通道可以讀出溫度傳感器的電壓。在STM32的技術(shù)參考手冊(cè)中給出了一個(gè)計(jì)算公式: Temperature (in ℃) = {(V25 - VSENSE) / Avg_Slope} + 25 公式中的Vsense就是在ADC_IN16讀到的數(shù)值。Avg_Slope就是溫度與ADC數(shù)值轉(zhuǎn)換的斜率。 設(shè)想一個(gè)XY坐標(biāo),X軸為ADC的電壓讀數(shù),Y軸為溫度,兩軸之間有一條直線代表了溫度與轉(zhuǎn)換電壓的關(guān)系;在這條直線上如果X軸電壓為V25時(shí),Y軸即為25℃;當(dāng)讀出的電壓是其它數(shù)值時(shí),即讀出的電壓是Vsense時(shí),使用這個(gè)公式就可以得到溫度的數(shù)值。 在STM32F103xx的數(shù)據(jù)手冊(cè)中分別給出了V25和Avg_Slope的值: V25 最小=1.34V 典型=1.43V 最大=1.52V Avg_Slope 最小=4.0 典型=4.3 最大=4.6 單位是 mV/℃ 例如讀到Vsense = 1.30V。分別取V25和Avg_Slope的典型值,計(jì)算得到: (1.43 - 1.30)/0.0043 + 25 = 55.23 所以溫度大約為 55℃ STM32F101xx數(shù)據(jù)手冊(cè) STM32F103xx數(shù)據(jù)手冊(cè) 最初發(fā)表日期:2008-5-13 |