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

发布时间:2023-03-14  

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

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

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

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

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

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

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

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

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

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

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

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

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

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    单片机能实现真正的多线程吗?;所谓多线程都是模拟的,本质都是单线程,因为cpu同一时刻只能执行一段代码。 模拟的多线程就是任务之间快速切换,看起来像同时执行的样子。 据说最近有多核的单片机,不过......
    想学嵌入式Linux?米尔基于瑞萨RZ/G2L开发板免费送!; 学习开发是一个渐进的过程,一般我们从51单片机开始,逐步迁移到STM32微控制器,然后学习使用FreeRTOS操作系统,最终......
    全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;   片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最高振荡频率为12M。   51单片机......
    进行开发。 FreeRTOS:FreeRTOS是一款开源的实时操作系统,可以与STM32单片机进行集成,实现多任务和多线程编程,提高程序的可靠性和并发性。 RT-Thread:RT-Thread是一款实时操作系统,同样......
    /G2L核心板。        学习嵌入式系统开发是一个渐进的过程,一般我们从51单片机开始,逐步迁移到STM32微控制器,然后学习使用FreeRTOS操作系统,最终进入嵌入式Linux领域。以下......
    想学嵌入式Linux?领免费的瑞萨RZ/G2L开发板!;导语:刚入门嵌入式,选入门级RZ/G2L开发板,采用邮票孔形式封装了RZ/G2L核心板。学习嵌入式系统开发是一个渐进的过程,一般我们从51单片机......
    馈的不是结构体占有的字节数了,而是一个指针占有的字节数(在32位单片机上是4个字节)。于是又导致了规划的内存空间长度比实际数据长度短,然后又溢出了。 ”多线程”合作 遇到的bug是前......
    。 这层关系一定要先搞清楚。 那嵌入式除了单片机以外,还有分为以下几个主流方向: 1.单片机开发工程师 需要掌握的东西大概如下: ①学习C语言、汇编 ②学习51、STM32单片机 ③学习常用Usart......
    单片机如何使用?51单片机C语言编程实例有哪些?;单片机如何使用,我们要知道单片机在哪里使用? 单片机是很多电子产品的核心器件,它具有一定的逻辑判断和事件处理能力的芯片。 可以对单片机......
    外设、智能仪器仪表、通讯设备、家用电器等。特别适合于嵌入式微型机应用系统。 单片机开发系统有单片单板机和仿真器。实现单片机应用系统的硬、软件开发。 单片机 单片机的历史及发展概况 第一阶段(1974......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>