91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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)注

    6077

    文章

    45506

    瀏覽量

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

    關(guān)注

    2

    文章

    499

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    電壓放大器在集成電容傳感器研究實(shí)驗(yàn)中的應(yīng)用

    實(shí)驗(yàn)名稱: 集成電容傳感器的壓電致動(dòng)大角度FSM實(shí)驗(yàn)研究 研究方向: 壓電快反鏡、基于動(dòng)力學(xué)模型輸入-輸出特性驗(yàn)證、基于電容傳感器反饋PID閉環(huán)控制驗(yàn)證、壓電致動(dòng)FSM靜動(dòng)態(tài)特性測(cè)試驗(yàn)
    的頭像 發(fā)表于 03-12 11:31 ?104次閱讀
    電壓放大器在集成電容<b class='flag-5'>傳感器</b>研究實(shí)驗(yàn)中的應(yīng)用

    在 VisionFive 2 上使用光敏傳感器

    的光敏傳感器 杜邦線:多 2、光敏傳感器的原理 本演示中使用的具體光敏傳感器模塊如下: 在該光敏傳感器上,提供了數(shù)字輸出接口 (DO) 和
    發(fā)表于 03-11 06:23

    霍爾傳感器的磁鐵容易裝錯(cuò)怎么辦?

    霍爾傳感器通常用于檢測(cè)磁場(chǎng)的變化,并將其轉(zhuǎn)換為電信號(hào)。如果安裝時(shí)磁鐵容易裝錯(cuò),可能會(huì)導(dǎo)致傳感器輸出的信號(hào)不準(zhǔn)確或失效。以下是一些避免或解決霍爾傳感器磁鐵裝錯(cuò)的方法
    的頭像 發(fā)表于 02-03 16:30 ?363次閱讀
    霍爾<b class='flag-5'>傳感器</b>的磁鐵容易裝錯(cuò)怎么辦?

    霍爾效應(yīng)傳感器中使用的磁鐵磁化方向與材質(zhì)

    東莞市卡瑞奇永久磁鐵廠家長(zhǎng)期為廣大傳感器,電機(jī)客戶提供各種性能材質(zhì)磁鐵,如需幫助找到最適合您應(yīng)用的磁鐵,請(qǐng)與我們聯(lián)系。
    的頭像 發(fā)表于 01-15 15:16 ?194次閱讀
    霍爾效應(yīng)<b class='flag-5'>傳感器</b><b class='flag-5'>中使</b>用的磁鐵磁化方向與材質(zhì)

    不同溫度傳感器的類型和公差

    溫度傳感器類型和公差:傳感器公差和溫度系數(shù)的組合定義了溫度傳感器的溫度特性,元件公差越大,傳感器與廣義曲線偏差越大,傳感器變化也就越大。
    的頭像 發(fā)表于 11-24 17:47 ?812次閱讀
    不同溫度<b class='flag-5'>傳感器</b>的類型和公差

    在越野賽車中使用齒輪傳感器

    了Littelfuse 55075系列的齒輪齒傳感器。在本文中,我們將探討齒輪齒傳感器如何使用大廳效果運(yùn)行,以及我們?nèi)绾卧谫愜嚿鲜褂盟鼈兊膶?shí)例。閱讀本文后,您應(yīng)該能夠?qū)嵤┳约旱凝X輪齒傳感器解決方案! 理論 齒輪
    的頭像 發(fā)表于 10-01 15:17 ?1761次閱讀
    在越野賽車<b class='flag-5'>中使</b>用齒輪<b class='flag-5'>傳感器</b>

    顏色傳感器的檢測(cè)原理和應(yīng)用實(shí)例

    顏色傳感器是一種能夠感知光線的傳感器(光電傳感器、光傳感器的一種)。
    的頭像 發(fā)表于 09-04 17:13 ?3484次閱讀
    顏色<b class='flag-5'>傳感器</b>的檢測(cè)原理和應(yīng)用實(shí)例

    雷達(dá)傳感器和紅外傳感器的區(qū)別

    雷達(dá)傳感器和紅外傳感器都可以進(jìn)行測(cè)距,能夠輔助設(shè)備進(jìn)行“感知世界”的行為,雖然說(shuō)功能看起來(lái)是一樣的,但是實(shí)現(xiàn)的方式卻是大有不同,紅外測(cè)距是通過(guò)發(fā)射紅外線,雷達(dá)測(cè)距是通過(guò)發(fā)射電磁波,從本質(zhì)上來(lái)說(shuō)是完全
    的頭像 發(fā)表于 08-28 17:48 ?1072次閱讀

    什么是照度傳感器和接近傳感器

    近年來(lái),照度傳感器和接近傳感器在我們身邊各類設(shè)備中的應(yīng)用越來(lái)越廣泛。除了單獨(dú)使用照度傳感器和接近傳感器外,將這些傳感器組合使用的情況也在不斷
    的頭像 發(fā)表于 08-22 14:46 ?2939次閱讀
    什么是照度<b class='flag-5'>傳感器</b>和接近<b class='flag-5'>傳感器</b>

    【經(jīng)驗(yàn)】壓力傳感器89BSD的應(yīng)用和調(diào)試技巧

    TEconnectivity推出的89BSD系列傳感器是TE旗下的一種介質(zhì)隔離數(shù)字輸出的絕壓型壓力傳感器,封裝在316L不銹鋼外殼中??稍诓煌h(huán)境中使用,在硬件安裝和傳感器調(diào)試的過(guò)程中
    的頭像 發(fā)表于 08-20 12:02 ?794次閱讀
    【經(jīng)驗(yàn)】壓力<b class='flag-5'>傳感器</b>89BSD的應(yīng)用和調(diào)試技巧

    關(guān)于CAPSENSE?接近按鈕傳感器陣列的設(shè)計(jì)問(wèn)題求解

    我正在設(shè)計(jì)一個(gè)接近按鈕傳感器陣列。我知道環(huán)路傳感器通??赡苁墙咏鼨z測(cè)的更好選擇,但對(duì)于我的應(yīng)用,我希望使用按鈕型傳感器進(jìn)行接近檢測(cè)。 到目前為止,我已經(jīng): 創(chuàng)建了一個(gè)由9 個(gè)傳感器
    發(fā)表于 07-30 07:04

    氫氣傳感器維護(hù)常見(jiàn)問(wèn)題及解決方法

    傳感器維護(hù)中的六大常見(jiàn)故障現(xiàn)象,結(jié)合典型應(yīng)用場(chǎng)景,提供系統(tǒng)化的診斷方法和解決方案。 一、零點(diǎn)漂移問(wèn)題診斷與校準(zhǔn) 在石油化工企業(yè)的日常監(jiān)測(cè)中,某加氫站工作人員發(fā)現(xiàn)傳感器在無(wú)氫環(huán)境下的輸出信號(hào)持續(xù)偏高,24小時(shí)內(nèi)漂
    的頭像 發(fā)表于 07-27 22:29 ?971次閱讀

    如何選擇酒精傳感器

    鑒于可用技術(shù)、其應(yīng)用及其性能特征的細(xì)微差別,選擇適合您的特定需求的酒精傳感器可能是一個(gè)復(fù)雜的過(guò)程。本指南將通過(guò)探索酒精傳感器的類型、其原理、應(yīng)用以及表格格式的比較分析,幫助您瀏覽選項(xiàng)并做出明智的決定
    的頭像 發(fā)表于 07-21 11:37 ?1330次閱讀
    如何選擇酒精<b class='flag-5'>傳感器</b>

    無(wú)速度傳感器感應(yīng)電機(jī)控制系統(tǒng)轉(zhuǎn)速辨識(shí)方法研究

    摘 要:無(wú)速度傳感器感應(yīng)電機(jī)控制技術(shù)已成為近年的研究熱點(diǎn),轉(zhuǎn)逸估計(jì)是無(wú)速度傳感器感應(yīng)電機(jī)控制技術(shù)的核心問(wèn)題。在此對(duì)無(wú)速度傳感器感應(yīng)電機(jī)轉(zhuǎn)速辦識(shí)技術(shù)進(jìn)行了介紹,分析了幾種比較典型的轉(zhuǎn)速解識(shí)方法
    發(fā)表于 07-09 14:23

    如何選擇地磁傳感器

    地磁傳感器是一種可以檢測(cè)地球磁場(chǎng)變化的傳感器,它可以高精度地測(cè)量空間方位和角度變化。選擇地磁傳感器時(shí),我們需要考慮以下幾個(gè)方面:1.首先是測(cè)量范圍。不同型號(hào)的地磁傳感器的測(cè)量范圍有差異
    的頭像 發(fā)表于 05-19 13:20 ?929次閱讀
    如何選擇地磁<b class='flag-5'>傳感器</b>