0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

传感器中使用fsm的方法

电子设计 来源:电子设计 作者:电子设计 2022-02-17 11:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

单片机裸机的编程方法中,状态机的方法是比较好的,经典的比如按键的检测判断等。

其实有很多地方可以使用这种思想。比如传感器的数据采集,因为单片机不可能一直等待着运行,那样的效率是很低的,通常都是结合fsm + timer的方式来提高CPU的使用率。

传感器中使用fsm的方法

大家都知道,ds18b20的采集是比较慢的,发送转换指令后,最慢需要等待720ms,这个时间有点太长了。简直不能忍受。

如下所示:我采用了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
那么我肯定不是死等的,死等,多浪费cpu,效率太低了,实际工作中根本无法接受。

因此,做了一个状态机:

int main(int argc, char const *argv[])
{
while(1)
{
ds18b20_discope();
}
return0;
}
void ds18b20_discope(void)
{
switch (ds18b20的状态机的全局变量)
{
case 发送命令:
发送转换命令
赋值到等待装态
break;
case 等待装态:
判断是否有超时,
如果有超时,则:读取,计数器清零,并回到发送命令状态
否则,do nothing
break;
default:
break;
}
}

定时器的基准中断可以自己细化,我是50ms一个中断:

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
如果ds18b20已经处于等待状态,
则计数++
}

这样就是一个简单的传感器定时采样的状态机思路,不会死等,效率较高,而且稳定。

注意ds18b20的时序性比较严格,网上说不能被打断的,但是后来移植到freertos中,也是可以的,温度采样还算稳定,但是考虑到后续程序比较大,因此还是裸机了,状态机的思路基本能解决。

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45630

    浏览量

    675544
  • 状态机
    +关注

    关注

    2

    文章

    502

    浏览量

    29419
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于车速传感器磁铁的一些知识点

    ,车速传感器中使用的磁铁通常由钕铁硼(NdFeB)或铁氧体等材料制成。钕铁硼磁铁因其高磁能积和强磁场输出,在车速传感器中被广泛应用,能够提供较强的磁场,确保传感器的精
    的头像 发表于 04-29 10:40 179次阅读
    关于车速<b class='flag-5'>传感器</b>磁铁的一些知识点

    电压放大器在集成电容传感器研究实验中的应用

    实验名称: 集成电容传感器的压电致动大角度FSM实验研究 研究方向: 压电快反镜、基于动力学模型输入-输出特性验证、基于电容传感器反馈PID闭环控制验证、压电致动FSM静动态特性测试验
    的头像 发表于 03-12 11:31 244次阅读
    电压放大器在集成电容<b class='flag-5'>传感器</b>研究实验中的应用

    在 VisionFive 2 上使用光敏传感器

    的光敏传感器 杜邦线:多 2、光敏传感器的原理 本演示中使用的具体光敏传感器模块如下: 在该光敏传感器上,提供了数字输出接口 (DO) 和
    发表于 03-11 06:23

    霍尔传感器的磁铁容易装错怎么办?

    霍尔传感器通常用于检测磁场的变化,并将其转换为电信号。如果安装时磁铁容易装错,可能会导致传感器输出的信号不准确或失效。以下是一些避免或解决霍尔传感器磁铁装错的方法
    的头像 发表于 02-03 16:30 569次阅读
    霍尔<b class='flag-5'>传感器</b>的磁铁容易装错怎么办?

    霍尔效应传感器中使用的磁铁磁化方向与材质

    东莞市卡瑞奇永久磁铁厂家长期为广大传感器,电机客户提供各种性能材质磁铁,如需帮助找到最适合您应用的磁铁,请与我们联系。
    的头像 发表于 01-15 15:16 353次阅读
    霍尔效应<b class='flag-5'>传感器</b><b class='flag-5'>中使</b>用的磁铁磁化方向与材质

    不同温度传感器的类型和公差

    温度传感器类型和公差:传感器公差和温度系数的组合定义了温度传感器的温度特性,元件公差越大,传感器与广义曲线偏差越大,传感器变化也就越大。
    的头像 发表于 11-24 17:47 1085次阅读
    不同温度<b class='flag-5'>传感器</b>的类型和公差

    在越野赛车中使用齿轮传感器

    了Littelfuse 55075系列的齿轮齿传感器。在本文中,我们将探讨齿轮齿传感器如何使用大厅效果运行,以及我们如何在赛车上使用它们的实例。阅读本文后,您应该能够实施自己的齿轮齿传感器解决方案! 理论 齿轮
    的头像 发表于 10-01 15:17 2083次阅读
    在越野赛车<b class='flag-5'>中使</b>用齿轮<b class='flag-5'>传感器</b>

    颜色传感器的检测原理和应用实例

    颜色传感器是一种能够感知光线的传感器(光电传感器、光传感器的一种)。
    的头像 发表于 09-04 17:13 3848次阅读
    颜色<b class='flag-5'>传感器</b>的检测原理和应用实例

    雷达传感器和红外传感器的区别

    雷达传感器和红外传感器都可以进行测距,能够辅助设备进行“感知世界”的行为,虽然说功能看起来是一样的,但是实现的方式却是大有不同,红外测距是通过发射红外线,雷达测距是通过发射电磁波,从本质上来说是完全
    的头像 发表于 08-28 17:48 1637次阅读

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

    近年来,照度传感器和接近传感器在我们身边各类设备中的应用越来越广泛。除了单独使用照度传感器和接近传感器外,将这些传感器组合使用的情况也在不断
    的头像 发表于 08-22 14:46 3257次阅读
    什么是照度<b class='flag-5'>传感器</b>和接近<b class='flag-5'>传感器</b>

    【经验】压力传感器89BSD的应用和调试技巧

    TEconnectivity推出的89BSD系列传感器是TE旗下的一种介质隔离数字输出的绝压型压力传感器,封装在316L不锈钢外壳中。可在不同环境中使用,在硬件安装和传感器调试的过程中
    的头像 发表于 08-20 12:02 1008次阅读
    【经验】压力<b class='flag-5'>传感器</b>89BSD的应用和调试技巧

    关于CAPSENSE™接近按钮传感器阵列的设计问题求解

    我正在设计一个接近按钮传感器阵列。我知道环路传感器通常可能是接近检测的更好选择,但对于我的应用,我希望使用按钮型传感器进行接近检测。 到目前为止,我已经: 创建了一个由9 个传感器
    发表于 07-30 07:04

    氢气传感器维护常见问题及解决方法

    传感器维护中的六大常见故障现象,结合典型应用场景,提供系统化的诊断方法和解决方案。 一、零点漂移问题诊断与校准 在石油化工企业的日常监测中,某加氢站工作人员发现传感器在无氢环境下的输出信号持续偏高,24小时内漂
    的头像 发表于 07-27 22:29 1334次阅读

    如何选择酒精传感器

    鉴于可用技术、其应用及其性能特征的细微差别,选择适合您的特定需求的酒精传感器可能是一个复杂的过程。本指南将通过探索酒精传感器的类型、其原理、应用以及表格格式的比较分析,帮助您浏览选项并做出明智的决定
    的头像 发表于 07-21 11:37 1676次阅读
    如何选择酒精<b class='flag-5'>传感器</b>

    无速度传感器感应电机控制系统转速辨识方法研究

    摘 要:无速度传感器感应电机控制技术已成为近年的研究热点,转逸估计是无速度传感器感应电机控制技术的核心问题。在此对无速度传感器感应电机转速辦识技术进行了介绍,分析了几种比较典型的转速解识方法
    发表于 07-09 14:23