单片机怎么实现真正的多线程?

单片机怎么实现真正的多线程?

不考虑多核情况时,CPU在一个时间点只能做一件事,因为切换的速度快所以看起来好像是同时执行多个线程而已。

实际上就是用定时器来做时基,以时间片的方式分别执行来实现的,只不过实现起来细节比较复杂,核心思想就是你猜想的那样。最近很多小伙伴找我,说想要一些单片机的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「单片机资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

评论区回复"888",关注我之后私信回复"666",即可拿走。

如果你仅仅想知道具体思路,我可以告诉你。就是划分一块内存区域做线程的上下文切换空间,另外以一个定时器做定时时基。例如设为1ms,每隔1ms检测是否有其它线程要工作,如果有,保存当前线程的CPU寄存器以及工作状态到当前线程的上下文空间,从要运行的线程上下文空间取出寄存器值填充到CPU寄存器中,这样就完成了线程的切换,CPU就接着另一个线程的工作继续做下去了。

打个比方,我们把一个人关在小房间里,给他布置了写作业和洗衣服的两个任务。

相关推荐
fengfuyao9858 小时前
STM32如何定位HardFault错误,一种实用方法
stm32·单片机·嵌入式硬件
爱学习的颖颖8 小时前
EXTI外部中断的执行逻辑|以对射式红外传感器计次为例
单片机·嵌入式硬件·exti中断
AI精钢10 小时前
H20芯片与中国的科技自立:一场隐形的博弈
人工智能·科技·stm32·单片机·物联网
etcix13 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
谱写秋天13 小时前
在STM32F103上进行FreeRTOS移植和配置(STM32CubeIDE)
c语言·stm32·单片机·freertos
globbo16 小时前
【嵌入式STM32】I2C总结
单片机·嵌入式硬件
玖別ԅ(¯﹃¯ԅ)17 小时前
SysTick寄存器(嘀嗒定时器实现延时)
stm32·单片机·嵌入式硬件
Blossom.11818 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
桃源学社(接毕设)20 小时前
基于人工智能和物联网融合跌倒监控系统(LW+源码+讲解+部署)
人工智能·python·单片机·yolov8
玖別ԅ(¯﹃¯ԅ)20 小时前
PID学习笔记6-倒立摆的实现
笔记·stm32·单片机