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

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

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

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

   用DS18B20溫度傳感器,設(shè)置4個(gè)窗值,找最大值,由于溫度帶有小數(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個(gè)窗值,可以更改 

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)計(jì)數(shù)等于測(cè)試窗值時(shí),則從4個(gè)窗值找溫度的最大值 

if(i == NR(temp_buffer))

{

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

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

//清計(jì)數(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)用情況,我們可能會(huì)對(duì)一個(gè)傳感器的數(shù)據(jù)進(jìn)行長(zhǎng)時(shí)間的觀察就需要用到這樣的方法。

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

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

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