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

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

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

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

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

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

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

相关推荐
振南的单片机世界13 小时前
CPU时钟:频率越高跑越快,但物理极限在“拖后腿”
stm32·单片机·嵌入式硬件
普中科技14 小时前
【普中 51-Ai8051 开发攻略】-- 第 20 章 输入捕获实验
单片机·嵌入式硬件·输入捕获·pca·普中科技·ai8051u·aicube
d111111111d14 小时前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
d111111111d17 小时前
了解Modbus
网络·笔记·stm32·单片机·嵌入式硬件·学习
三佛科技-1341638421217 小时前
主控FT32F031便携式吸尘器方案,迷你手持吸尘器MCU控制方案开发
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
一个平凡而乐于分享的小比特18 小时前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发
踏着七彩祥云的小丑19 小时前
嵌入式——认识电子元器件——微动开关系列
单片机·嵌入式硬件
调光IC-小雅19 小时前
解析FP62××系列限流保护机制:为何它是DC/DC芯片的安全底线
单片机·嵌入式硬件
gihigo199820 小时前
MAX30102 + STM32 人体血氧饱和度(SpO₂)测量方案
stm32·单片机·嵌入式硬件