www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式云IOT技術(shù)圈
[導(dǎo)讀]? ? 最近幾天有文章的讀者反饋,本平臺發(fā)布的文章只是講了一些基礎(chǔ)知識,并沒有談到具體應(yīng)用,根據(jù)各位的反饋,我也做了相應(yīng)的思考,所以咱們還是需要理論和實(shí)踐結(jié)合來寫比較好。等時機(jī)成熟,也會將具體的應(yīng)用編寫成一本全新的書籍。 ? ? 前面寫的測試案例看

    最近幾天有文章的讀者反饋,本平臺發(fā)布的文章只是講了一些基礎(chǔ)知識,并沒有談到具體應(yīng)用,根據(jù)各位的反饋,我也做了相應(yīng)的思考,所以咱們還是需要理論和實(shí)踐結(jié)合來寫比較好。等時機(jī)成熟,也會將具體的應(yīng)用編寫成一本全新的書籍。

    前面寫的測試案例看似有點(diǎn)泛泛,可能各位看完也不知道具體用到哪里,接下來我們來看一個具體的應(yīng)用案例吧!以下程序運(yùn)行在秉火STM32F103霸道的開發(fā)板上,參考官方提供的程序demo,經(jīng)過個人修改而來。

   用DS18B20溫度傳感器,設(shè)置4個窗值,找最大值,由于溫度帶有小數(shù),所以類型應(yīng)是浮點(diǎn)型數(shù)據(jù):

#include "stm32f10x.h"

#include "bsp_usart.h"

#include "bsp_SysTick.h"

#include "bsp_ds18b20.h"

#define NR(x) (sizeof(x)/sizeof(x[0]))

static float find_buffer_max(float buffer_value_max,u32 size,float *buffer);

int main(void)

{

int i = 0;

float temp_max;

//設(shè)置溫度保存的緩存有4個窗值,可以更改 

float temp_buffer[4] ;

uint8_t uc, ucDs18b20Id [ 8 ];

SysTick_Init();

USART_Config();

while( DS18B20_Init() )

printf("\r\n no ds18b20 exsit \r\n");

DS18B20_ReadId ( ucDs18b20Id  );          

 

for ( uc = 0; uc < 8; uc ++ )            

printf ( "%.2x", ucDs18b20Id [ uc ] );

while(1)

{

//當(dāng)計數(shù)等于測試窗值時,則從4個窗值找溫度的最大值 

if(i == NR(temp_buffer))

{

temp_max = find_buffer_max(0.0,NR(temp_buffer),temp_buffer);

printf"溫度的最大值為:%.1f\n",temp_max);

//清計數(shù)器 

i = 0 ;

}

//將當(dāng)前溫度保存到窗值數(shù)組

temp_buffer[i] = DS18B20_GetTemp_MatchRom (ucDs18b20Id); 

Delay_ms(1000);

printf("當(dāng)前溫度值為:%.1f\n",temp_buffer[i]);

i++ ;

}  

        return 0 ;


}

 

//找最大值 

static float find_buffer_max(float buffer_value_max,u32 size,float *buffer)

{

u8 count = 0 ; 

float max = buffer_value_max ;

for(count = 0 ; count < size ; count++)

{

if(buffer[count] > max)

max = buffer[count];

}

return max ; 

}

運(yùn)行結(jié)果:

    根據(jù)現(xiàn)實(shí)的工程應(yīng)用情況,我們可能會對一個傳感器的數(shù)據(jù)進(jìn)行長時間的觀察就需要用到這樣的方法。

    又如,像光強(qiáng)值,加熱值,聲音值等模擬量也是可以用這樣的方法。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

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