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

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

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

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

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

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

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

相关推荐
晶振厂家-晶发电子2 天前
晶振在5G时代的角色:高精度时钟的核心支撑
单片机·嵌入式硬件·5g·晶振·电子元器件·晶振知识
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
三佛科技-187366133972 天前
分享机械键盘MCU解决方案
单片机·嵌入式硬件·计算机外设
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
工大一只猿2 天前
51单片机学习
嵌入式硬件·学习·51单片机
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
bing_feilong2 天前
STM32精准控制水流
单片机·嵌入式硬件
Hello_Embed2 天前
STM32HAL 快速入门(二十):UART 中断改进 —— 环形缓冲区解决数据丢失
笔记·stm32·单片机·学习·嵌入式软件
矢志不移7922 天前
裸机开发 时钟配置,EPIT
单片机·嵌入式硬件