日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]測量芯片周圍的環(huán)境溫度用。這個溫度傳感器輸出的電壓與溫度成一定比例,獲取溫度基本就是用ADC測量這個電壓。在芯片內(nèi)部,溫度傳感器與ADC1的CH16相連。當(dāng)不使用改傳感器時(shí),可將其設(shè)置為PowerDown模式以省電。主要

測量芯片周圍的環(huán)境溫度用。這個溫度傳感器輸出的電壓與溫度成一定比例,獲取溫度基本就是用ADC測量這個電壓。

在芯片內(nèi)部,溫度傳感器與ADC1的CH16相連。當(dāng)不使用改傳感器時(shí),可將其設(shè)置為PowerDown模式以省電。

主要特性:

測溫范圍:-45~+125攝氏度

測溫精度:±1.5攝氏度

使用步驟:

1、選擇ADC1 CH16作為ADC的輸入

2、設(shè)置采樣時(shí)間

3、設(shè)置ADC1寄存器ADC_CCR的TSVREFE位,將溫度傳感器從PowerDown模式喚醒。

4、開始ADC轉(zhuǎn)換

5、讀取轉(zhuǎn)換值Value并換算成電壓Vsense,Vsense = Value×3300/4096 (mV)

6、計(jì)算溫度。

溫度計(jì)算公式:Temp = ((Vsense - V25)/Avg_Slope)+25

V25是Vsense 在25度時(shí)候的值,Avg_Slope 是溫度轉(zhuǎn)換率。這兩個值可在datasheet里邊查到。

V25 = 0.76V Avg_Slope = 2.5 mV/°C

Temp = (Vsense– 760)/2500 + 25;

【代碼實(shí)現(xiàn)】

首先,喚醒溫度傳感器:

ADC_TempSensorVrefintCmd(ENABLE);

將上一程序的4通道,改為16通道:

ADC_RegularChannelConfig(ADC1,ADC_Channel_16,4,ADC_SampleTime_144Cycles);

讀取這個轉(zhuǎn)換的值,用上邊公式計(jì)算即可:

aa = adcvalue[i]-760;
printf("當(dāng)前溫度是: %f攝氏度rn",(aa)/2.5+25);
printf("%drn",adcvalue[i]);

這里要注意數(shù)據(jù)類型,adcvalue定義的是uint16_t的,是無符號數(shù)。

這里能讀出溫度了,但是還有點(diǎn)問題:溫度不準(zhǔn),夜里讀出的溫度竟然有68度,我乖乖還活不了。不知道是片子工作久了內(nèi)部溫度高還是我的計(jì)算有錯誤。

但是這個溫度確實(shí)是隨著溫度的變化而變化的,板子斷電一會溫度就下降了,但還是不準(zhǔn)


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉