单片机能实现真正的多线程吗?

发布者:凌晨2点369最新更新时间:2023-03-14 来源: zhihu关键字:单片机  多线程  单线程 手机看文章 扫描二维码
随时随地手机看文章

所谓多线程都是模拟的,本质都是单线程,因为cpu同一时刻只能执行一段代码。

模拟的多线程就是任务之间快速切换,看起来像同时执行的样子。

据说最近有多核的单片机,不过成本应该会高很多。

对于模拟的多线程,我知道的有两种方式:

1.基于时间片的轮询系统

我自己就写过这样一个系统,原理就是用systick给系统提供一个时间基准,一般我用10ms。

然后把整体产品功能成不同的任务(线程),并且为每个任务分配一个时间片。

我红色框标注的每个任务调度的时间,1代表10ms,50则代表500ms,每个任务执行的频率可以不同,方便释放cpu资源给更需要的任务。

主函数的循环里一直判断每个任务的状态。

这里我把任务直接封装成结构体,通过函数指针的方式去调用,方便不同的任务集中管理。

如果任务就绪,就执行,等该任务执行完,下一个任务才能执行,所以本质还是轮询。

只是每个任务可以灵活分配调度时间,不重要的任务执行次数少,重要的任务执行次数多,看起来像多线程的效果。

这种方式比传统的while(1)去轮询在程序架构上会好一点,任务管理和调度也灵活很多。

缺点就是任务在执行过程中无法被打断,不能马上切换到别的任务去执行。


关键字:单片机  多线程  单线程 引用地址:单片机能实现真正的多线程吗?

上一篇:单片机能运行操作系统吗
下一篇:单片机从零基础到独立开发,我经历了哪些阶段?

推荐阅读最新更新时间:2024-11-17 11:35

基于AT89C51单片机的激光共聚焦显微镜的扫描控制的实现
作为一种具有较高横向分辨率和纵向分辨率的显微仪器,激光共聚焦扫描显微镜在各个领域有较大发展 文中介绍了激光共聚焦光学扫描的非线性问题,通过选取合适的振镜以及驱动控制系统消除非线性,最后完成扫描驱动系统的软件设计。 通过光学特性在生物组织病变前后所体现出的特征变化米检测并判断生物组织发生病变种类以及病变程度是医学界一个研究热点。激光共聚焦扫描显微镜不仅具有较高的平面分辨率,而且具有较高的深度分辨率,使其能够对佯品进行光学断层扫捕成像。 1 共聚焦扫描显微镜原理及系统结构 激光共焦扫描显微成像技术是采用共轭焦点技术,如图1所示。其工作原理为激光光源发出的激光通过准直系统入射到两向色镜上,经过扫描系统入射到扫捕透镜和透镜组上
[单片机]
基于AT89C51<font color='red'>单片机</font>的激光共聚焦显微镜的扫描控制的实现
浅谈单片机开发中宏定义的使用
(1)IO口管脚使用见名知意的宏定义,比如LED1,LED_ONE_PIN (2)IO口电平高低使用宏定义,例如PIN_ON/PIN_OFF (3)某一个需要与变量进行比较的数值,使用宏定义 ... 当然,我说的也只是一些很片面的,但是宏定义对于我们去修改程序就有了很大的便利之处, (1)将软件层与硬件层分割开,比如IO管脚使用宏定义,那么管脚变了,只要修改成另一个管脚,软件其他部分不用去管, 在本人的项目中遇到过,硬件工程师出的板子与样机的板子的灯的位置正好相反,但是我一开始没有注意,直接就按照我们自己的板子上的顺序写的软件,然后出来的效果正好与样机相反,并且程序中有大量的对这些灯的操作语句。但是我只
[单片机]
基于PIC单片机的智能充电器的设计与实现
1  引言     铅酸蓄电池是目前大容量电池的主要品种,其制造成本低、容量大、价格低廉,使用范围非常广泛。铅酸蓄电池的基本充电方式有两种:恒压充电和恒流充电。如果单独采用一种方法,比如恒流法,则在充电后期由于充电电流不变,容易使容量下降而提前报废。单独采用恒压法,充电初期电流过大,可能致使电极活性物质脱落,后期电流又过小,形成长期充电不足,影响蓄电池的使用寿命 。因此,充电器大部分都是综合采用两种方法的多阶段充电方式。近年来,先恒流、再恒压、最后恒压浮充的三阶段充电方式被逐渐接受。     目前,三阶段充电方式主要采用模拟控制的方案。虽然具有实时性好、带宽高的优点,但其硬件电路复杂,控制不灵活。为此,本文设计了一种数字控制
[电源管理]
基于PIC<font color='red'>单片机</font>的智能充电器的设计与实现
Microchip Trust&Go Wi-Fi 单片机模块,让双MCU时代说再见
Wi-Fi将在大多数物联网环境中发挥作用,无论是单独使用还是与更专业的协议或与蜂窝网络互通,这是业界已经达成的共识。当前,具有Wi-Fi功能的MCU是承载该技术的主体,可市面上已有的此类MCU功能有限,还需要增加额外的MCU配合工作,大幅提升了开发周期和成本。为此,Microchip公司推出了Trust&Go Wi-Fi® 32位单片机模块,搭配最高效的32位单片机内核和一流的外设选项,将结束双MCU搭配使用的尴尬局面。 据Microchip公司无线解决方案部产品线经理Alex Li介绍,双MCU的设计方式会有几个缺陷: 首先,在Wi-Fi模块和主单片机之间的连接本身限制了Wi-Fi的速度。因为很多设计采用UART的连接方
[嵌入式]
Microchip Trust&Go Wi-Fi <font color='red'>单片机</font>模块,让双<font color='red'>MCU</font>时代说再见
使用LabVIEW和FPGA创建一个自动化的微控制器测试系统
   使用NI公司的产品,我们可以使用一套软硬件解决方案,轻而易举地测试不同的微控制器外设。我们使用NI的产品,通过向自动化框架提供易用的接口,使我们的测试系统自动化,这样节省了大量的精力和成本。    ZalmanRafael,InfineonTechnologies   TheChallenge:   集成和自动化一个完整的微控制器测试流程。   TheSolution:   使用NI公司产品来创造一个非人工测试平台,该平台具有直观用户界面和综合的测试案例。   Author(s):   ZalmanRafael-InfineonTechnologies   DBirundha-InfineonTechno
[测试测量]
使用LabVIEW和FPGA创建一个自动化的<font color='red'>微控制器</font>测试系统
基于单片机的锂电池保护电路低功耗设计
  90 年代出现的锂电池是能源技术领域的一个重要的里程碑。和其它二次电池相比, 锂电池具有更高的体积密度和能量密度, 因此在移动电话、个人数字助理(Personal D igital A ssistan t, PDA )、计算机等手提式电子设备中获得了极为广泛的应用。   一方面, 以锂电池为供电电源的电路设计中, 要求将越来越复杂的混合信号系统集成到一个小面积芯片上, 这必然给数字、模拟电路提出了低压、低功耗问题。在功耗和功能的制约中, 如何取得最佳的设计方案也是当前功耗管理技术( Pow erM anagem en t, PM ) 的一个研究热点。目前研究得较多的是系统级的动态功耗管理技术(Dynam icPow erM
[单片机]
基于<font color='red'>单片机</font>的锂电池保护电路低功耗设计
基于MCU、CAN控制器和收发器实现燃料电池汽车空调智能节点的设计
在能源日趋紧张、空气 污染 日益严重的今天,开发具有自主知识产权的新型 燃料电池 汽车是我国汽车产业的一个重要飞跃和里程碑,也是国家重点扶持的主要领域之一。燃料 电池 汽车与传统燃油汽车相比具有环保、节能(氢气为燃料)、运行平稳无噪声等特点。燃料电池汽车系统的核心是它的动力系统,即燃料电池 发动机 ,同时配备高功率 锂离子电池 ,能够回收下坡和制动能量。整个汽车系统由若干控制单元组成,各单元通过汽车总线彼此相连,其中 空调 控制系统是这种新型能源汽车的一个辅助控制单元,但它也是汽车系统的一个重要组成部分。本文将给出一种采用通用微控制器( MCU )和独立 CAN 控制器和 收发器 为核心的智能节点,完成与汽车系统之间的通信和控制由
[汽车电子]
基于<font color='red'>MCU</font>、CAN控制器和收发器实现燃料电池汽车空调智能节点的设计
关于GD32 MCU打造绿色智能家居的介绍和应用
基于绿色节能的理念,在智能家居模型中加入了蓄电池、太阳能电池板、风能发电机,以GD32 MCU为控制核心,设计了红外检测、人体检测、光控LED、温度监测和电子锁等功能,并可通过GSM短信进行报警。 GD32F1 系列MCU产品是ARM架构的Cortex-M3处理器,其主频为108MHz。精简指令集架构配上百兆主频,提供了出色的运算处理性能。为了给用户更大的选择空间,产品提供16KB到3072KB的FLASH容量,6KB到96KB的内部SRAM,并有QFN36、LQFP48、LQFP64、LQFP100和LQFP144多种封装选择。系列产品在软件和引脚封装方面全兼容。 GD32F1 MCU供电电压范围为2.6V-3.6V,内
[单片机]
关于GD32 <font color='red'>MCU</font>打造绿色智能家居的介绍和应用
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved