一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

傳感器中使用fsm的方法

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-17 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

原文:https://www.cnblogs.com/CodeWorkerLiMing/p/12501934.html

單片機(jī)裸機(jī)的編程方法中,狀態(tài)機(jī)的方法是比較好的,經(jīng)典的比如按鍵的檢測(cè)判斷等。

其實(shí)有很多地方可以使用這種思想。比如傳感器的數(shù)據(jù)采集,因?yàn)閱纹瑱C(jī)不可能一直等待著運(yùn)行,那樣的效率是很低的,通常都是結(jié)合fsm + timer的方式來(lái)提高CPU的使用率。

傳感器中使用fsm的方法

大家都知道,ds18b20的采集是比較慢的,發(fā)送轉(zhuǎn)換指令后,最慢需要等待720ms,這個(gè)時(shí)間有點(diǎn)太長(zhǎng)了。簡(jiǎn)直不能忍受。

如下所示:我采用了11bit分辨率,0.125的分辨率足夠了,作為溫度參考而已。

9 - bit resolution 93.75 ms 0.5
10 - bit resolution 187.50.25
11 - bit resolution 3750.125
12 - bit resolution 7500.0625
那么我肯定不是死等的,死等,多浪費(fèi)cpu,效率太低了,實(shí)際工作中根本無(wú)法接受。

因此,做了一個(gè)狀態(tài)機(jī):

int main(int argc, char const *argv[])
{
while(1)
{
ds18b20_discope();
}
return0;
}
void ds18b20_discope(void)
{
switch (ds18b20的狀態(tài)機(jī)的全局變量)
{
case 發(fā)送命令:
發(fā)送轉(zhuǎn)換命令
賦值到等待裝態(tài)
break;
case 等待裝態(tài):
判斷是否有超時(shí),
如果有超時(shí),則:讀取,計(jì)數(shù)器清零,并回到發(fā)送命令狀態(tài)
否則,do nothing
break;
default:
break;
}
}

定時(shí)器的基準(zhǔn)中斷可以自己細(xì)化,我是50ms一個(gè)中斷:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
如果ds18b20已經(jīng)處于等待狀態(tài),
則計(jì)數(shù)++
}

這樣就是一個(gè)簡(jiǎn)單的傳感器定時(shí)采樣的狀態(tài)機(jī)思路,不會(huì)死等,效率較高,而且穩(wěn)定。

注意ds18b20的時(shí)序性比較嚴(yán)格,網(wǎng)上說(shuō)不能被打斷的,但是后來(lái)移植到freertos中,也是可以的,溫度采樣還算穩(wěn)定,但是考慮到后續(xù)程序比較大,因此還是裸機(jī)了,狀態(tài)機(jī)的思路基本能解決。

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44962

    瀏覽量

    648978
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28159
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    霍爾傳感器介紹(可下載)

    霍爾傳感器是一種磁傳感器。用它可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān)的場(chǎng)合中使用。霍 爾傳感器以霍爾效應(yīng)為其工作基礎(chǔ),是由霍爾元件和它的附屬電路組成的集成
    發(fā)表于 03-14 17:27 ?2次下載

    激光位移傳感器的校準(zhǔn)方法

    激光位移傳感器的校準(zhǔn)方法主要包括以下步驟: 一、準(zhǔn)備階段 設(shè)備準(zhǔn)備 : 激光位移傳感器 標(biāo)準(zhǔn)位移裝置(如標(biāo)準(zhǔn)振動(dòng)臺(tái)或精密滑軌) 數(shù)據(jù)采集系統(tǒng) 讀數(shù)顯微鏡(或激光干涉儀等高精度測(cè)量設(shè)備,用于驗(yàn)證校準(zhǔn)
    的頭像 發(fā)表于 02-13 17:36 ?1184次閱讀

    詳解溫度傳感器校準(zhǔn)方法

    溫度測(cè)量是現(xiàn)代科技的基礎(chǔ),而校準(zhǔn)則是確保測(cè)量準(zhǔn)確的關(guān)鍵。讓我們深入探討溫度傳感器校準(zhǔn)的技術(shù)細(xì)節(jié),揭開(kāi)這項(xiàng)精密科學(xué)的神秘面紗。 校準(zhǔn)方法詳解 定點(diǎn)法校準(zhǔn) 這是最精確的校準(zhǔn)方法之一,利用純物質(zhì)的相變點(diǎn)
    的頭像 發(fā)表于 02-11 14:35 ?904次閱讀

    常見(jiàn)位移傳感器故障及解決方法

    和解決方法之前,了解位移傳感器的工作原理是必要的。位移傳感器通常通過(guò)測(cè)量物體相對(duì)于參考點(diǎn)的位置變化來(lái)工作。這些傳感器可以基于不同的原理,如電感、電容、光電、磁感應(yīng)等。它們將機(jī)械位移轉(zhuǎn)換
    的頭像 發(fā)表于 01-19 09:49 ?1004次閱讀

    光纖傳感器的測(cè)試與校準(zhǔn)方法

    光纖傳感器因其獨(dú)特的優(yōu)勢(shì)在多個(gè)領(lǐng)域中發(fā)揮著重要作用。然而,為了確保其測(cè)量結(jié)果的準(zhǔn)確性和可靠性,必須進(jìn)行嚴(yán)格的測(cè)試與校準(zhǔn)。 測(cè)試前的準(zhǔn)備 設(shè)備檢查 :確保所有測(cè)試設(shè)備,包括光纖傳感器、光源、檢測(cè)
    的頭像 發(fā)表于 01-18 11:12 ?1442次閱讀

    光纖傳感器的信號(hào)處理方法

    隨著科技的發(fā)展,光纖傳感器因其抗電磁干擾能力強(qiáng)、靈敏度高、體積小、重量輕等優(yōu)點(diǎn),在工業(yè)、醫(yī)療、環(huán)境監(jiān)測(cè)等領(lǐng)域得到了廣泛的應(yīng)用。 光纖傳感器的工作原理 光纖傳感器的工作原理主要基于光的傳輸特性。當(dāng)光在
    的頭像 發(fā)表于 01-18 10:36 ?1174次閱讀

    PLC數(shù)據(jù)采集模塊與傳感器連接方法

    PLC數(shù)據(jù)采集模塊與傳感器的連接方法主要取決于傳感器的類型和輸出信號(hào)。以下是一個(gè)連接指南: 一、了解傳感器類型與輸出信號(hào) 傳感器類型 :常見(jiàn)
    的頭像 發(fā)表于 11-26 13:38 ?2291次閱讀

    IGBT模塊NTC溫度傳感器的測(cè)量方法

    采用模擬電路方式測(cè)量IGBT模塊NTC溫度傳感器溫度:這個(gè)基本的方法是基于一個(gè)分壓作為熱敏裝置。
    的頭像 發(fā)表于 10-25 16:29 ?1960次閱讀
    IGBT模塊NTC溫度<b class='flag-5'>傳感器</b>的測(cè)量<b class='flag-5'>方法</b>

    磁性開(kāi)關(guān)傳感器測(cè)試方法

    磁性開(kāi)關(guān)傳感器,也稱為磁簧開(kāi)關(guān)或霍爾效應(yīng)傳感器,是一種利用磁場(chǎng)變化來(lái)檢測(cè)物體位置或狀態(tài)的傳感器。它們廣泛應(yīng)用于工業(yè)自動(dòng)化、汽車、家用電器等領(lǐng)域。測(cè)試磁性開(kāi)關(guān)傳感器的好壞對(duì)于確保設(shè)備正常
    的頭像 發(fā)表于 09-18 11:34 ?2299次閱讀

    PNP傳感器接繼電器的方法

    PNP傳感器接繼電器的方法是一個(gè)涉及電子電路連接的技術(shù)過(guò)程,它要求精確地將PNP傳感器的輸出信號(hào)與繼電器的控制端相連,以實(shí)現(xiàn)信號(hào)的轉(zhuǎn)換和放大。以下將詳細(xì)介紹PNP傳感器接繼電器的步驟和
    的頭像 發(fā)表于 09-13 17:24 ?1993次閱讀

    在汽車 HMI 應(yīng)用中使用霍爾效應(yīng)傳感器和電感式傳感器應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《在汽車 HMI 應(yīng)用中使用霍爾效應(yīng)傳感器和電感式傳感器應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 10:22 ?0次下載
    在汽車 HMI 應(yīng)用<b class='flag-5'>中使</b>用霍爾效應(yīng)<b class='flag-5'>傳感器</b>和電感式<b class='flag-5'>傳感器</b>應(yīng)用說(shuō)明

    土壤監(jiān)測(cè)傳感器的使用方法

    土壤監(jiān)測(cè)傳感器是用于監(jiān)測(cè)土壤濕度、溫度、pH值、電導(dǎo)率、有機(jī)質(zhì)含量等參數(shù)的設(shè)備,對(duì)于農(nóng)業(yè)生產(chǎn)、環(huán)境監(jiān)測(cè)和科學(xué)研究等領(lǐng)域具有重要意義。 土壤監(jiān)測(cè)傳感器使用方法 1. 了解土壤監(jiān)測(cè)傳感器的類型 在
    的頭像 發(fā)表于 09-10 14:34 ?869次閱讀

    使用位置傳感器輸出數(shù)據(jù)的角度計(jì)算方法

    電子發(fā)燒友網(wǎng)站提供《使用位置傳感器輸出數(shù)據(jù)的角度計(jì)算方法.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 10:37 ?0次下載
    使用位置<b class='flag-5'>傳感器</b>輸出數(shù)據(jù)的角度計(jì)算<b class='flag-5'>方法</b>

    電流傳感器怎么測(cè)量好壞 電流傳感器測(cè)試方法

    在現(xiàn)代電氣系統(tǒng)中,電流傳感器不僅能監(jiān)控電流的流動(dòng),而且能為系統(tǒng)的安全和效率提供保障。面對(duì)市場(chǎng)上眾多的電流傳感器,了解如何測(cè)量其好壞,成為了一項(xiàng)不可或缺的技能。今天為大家提供一套系統(tǒng)的測(cè)試方法,從外觀
    的頭像 發(fā)表于 07-04 14:27 ?1636次閱讀

    管道風(fēng)速傳感器的正確安裝方法

    管道風(fēng)速傳感器是用于測(cè)量管道內(nèi)氣體流速的儀器,廣泛應(yīng)用于工業(yè)、環(huán)保、氣象等領(lǐng)域。正確安裝管道風(fēng)速傳感器對(duì)于保證測(cè)量數(shù)據(jù)的準(zhǔn)確性和可靠性至關(guān)重要。本文將詳細(xì)介紹管道風(fēng)速傳感器的正確安裝方法
    的頭像 發(fā)表于 07-01 09:11 ?1882次閱讀