标题: 怎么让C语言void main()里的程序同步进行? [打印本页]

作者: 德布劳内    时间: 2022-5-24 08:53
标题: 怎么让C语言void main()里的程序同步进行?
代码http://www.51hei.com/bbs/dpj-221083-1.html
作者: lkc8210    时间: 2022-5-24 10:35
代码被吞了,重发吧
作者: lzzasd    时间: 2022-5-24 12:00
就没有任务程序同步进行的概念    只是一个任务完成后执行另一个任务罢了  
最多就是可以使用实时操作系统    任务程序可以打断保存现场运行其他任务后再恢复这个任务    表面上看是在同时运行    其实是任务分时和中断运行罢了   
作者: 啤酒瓶子老大    时间: 2022-5-24 18:02
有一种叫做实时多任务操作系统的。叫RTX51。256K内存,8K存储的89C52就能运行。可以研究一下。
也可以不用搞得那么复杂,一般的开发板带的程序都是多功能同时工作的。数码管,1602,12864OLED,超声波,时钟,按键,流水灯,8*8点阵。都是同时运行的。也没用实时系统。也运行得很好。

C语言真是太强大了。
作者: 名字不是重点    时间: 2022-5-25 15:14
没有哪个单片机能“同时”进行多项任务!都是分时进行的。
看上去又亮灯、又显示的,基本上都是“锁存”和“扫描”或“轮询”。
作者: madarava    时间: 2022-5-26 00:36
单片机是一种很原始的系统,又没有多个cpu核心。只能用中断,伪装成同时进行的样子。
作者: 13205495918    时间: 2022-5-26 07:53
单核处理器严格意义上就没有多线程这一说,能在mcu上跑的rtos这种实时操作操作系统也只是通过快速的切换线程,保存恢复上下文来模拟的伪多线程。
作者: weijoyer    时间: 2022-5-26 08:35
时间片轮转运行,模拟同时运行
作者: lei929193    时间: 2022-5-26 08:46
单片机的任务机制就是单步运行的,轮询进程的,就好比当你仿真进入到仿真界面打断点的时候,也是单步运行进行调试的,这样才能找到问题,希望对你有帮助
作者: 德布劳内    时间: 2022-5-26 12:55
weijoyer 发表于 2022-5-26 08:35
时间片轮转运行,模拟同时运行

还没学到这方面的知识





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1