[导读]▼点击下方名片,关注公众号▼欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复【加群】,限时免费进入知识共享群;回复【3D封装库】,常用元器件的3D封装库;回复【电容】,获取电容、元器件选型相关的内容;回复【阻抗匹配】,获取电磁兼容性、阻抗匹配相关的资料回复【...
在单片机裸机的编程方法中,状态机的方法是比较好的,经典的比如按键的检测判断等。其实有很多地方可以使用这种思想。比如传感器的数据采集,因为单片机不可能一直等待着运行,那样的效率是很低的,通常都是结合fsm timer的方式来提高CPU的使用率。
大家都知道,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中,也是可以的,温度采样还算稳定,但是考虑到后续程序比较大,因此还是裸机了,状态机的思路基本能解决。
欢迎关注本公众号,回复【DS18B20】获取更多关于该温度传感器的资料和参考例程。
End
限时免费扫码进群,交流更多行业技术
欢迎转发
每篇原创内容都是我们用心血换来的知识精华,如果您觉得本文有价值,欢迎转载分享;
欢迎加入
如果您对单片机及嵌入式设计感兴趣,欢迎加入我们的辩论探讨,加我微信【xyzn3333】。
往期推荐
STM32和51单片机的区别都有哪些?
单片机程序烧录方式知多少?
GD32和STM32不能完全替代,这些差异点您清楚吗?
5分钟解读STM32最小系统那些事
单片机硬件设计原则:抗干扰常用方法(一)
单片机怎么学快?快速学单片机的方法
ARM、单片机、stm32、51单片机、和开发板的概念、区别及包含关系
解析单片机与CPU的区别
硬件开发的基本过程
讲讲STM32单片机Flash的读保护和写保护
没有硬件开发板怎么调试STM32?在keil中仿真stm32单片机
文章转载自网络,若有侵权请联系删除!
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。
关键字:
单片机
编写程序
嵌入式
在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...
关键字:
s32单片机引脚
单片机
在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...
关键字:
MSP430
STM32
单片机
单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...
关键字:
单片机
微控制器
单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...
关键字:
单片机
MCU
STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...
关键字:
STM32
单片机
在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...
关键字:
单片机
w79e2051单片机
单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...
关键字:
单片机
微控制器
中央处理器
随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...
关键字:
单片机
嵌入式系统
电子设备
PLC(可编程逻辑控制器)和单片机是两种不同的控制设备,它们之间存在明显的区别:
关键字:
单片机
plc
控制器
Holtek隆重推出全新一代32-bit Arm® Cortex®-M0+ 5V CAN MCU - HT32F53231/HT32F53241/HT32F53242/HT32F53252。这一系列单片机带有来自Bosc...
关键字:
MCU
工业自动化
单片机
Holtek精益求精,宣布推出全新5V宽电压Arm® Cortex®-M0+ 32-bit MCU系列HT32F50431/HT32F50441/HT32F50442/HT32F50452。此系列MCU经多方位升级能满...
关键字:
单片机
智能家居
工业控制
单片机小精灵是一款针对单片机开发者的辅助工具,它集成了代码编辑、编译、调试等多项功能,旨在帮助开发者更加高效地进行单片机项目的开发。本文将详细介绍单片机小精灵的使用方法,帮助读者快速掌握这款工具,提高开发效率。
关键字:
单片机
代码编辑
辅助工具
单片机和PLC将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对二者的相关情况以及信息有所认识和了解,详细内容如下。
关键字:
PLC
单片机
在这篇文章中,小编将对单片机的相关内容和情况加以介绍以帮助大家增进对单片机的了解程度,和小编一起来阅读以下内容吧。
关键字:
单片机
芯片
集成电路
一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。
关键字:
单片机
控制器
今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。
关键字:
单片机
单片机最小系统
STM32
51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。
关键字:
单片机
51单片机
在这篇文章中,小编将对单片机最小系统的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。
关键字:
单片机
单片机最小系统