我刚刚收到了 Microchip PIC32 以太网入门套件。
我以前对 PIC 设备的经验为零,想知道 PIC32 设备是否可以同时运行多个进程?
是的。一种方法:您可以编写调度程序。一种相对简单的方法是设置一个计时器,当计时器计时,您运行一个中断服务例程,该例程每次运行您的一个任务。这被称为协作多任务,好像任何一个任务超过了计时器滴答,其他任务必须等待它完成。如果一个任务崩溃,整个系统就会崩溃。
或者您可以获得某种操作系统,例如FreeRTOS有一个 PIC32 端口。这将为您准备好调度(和进程间通信原语,以及许多其他 O/S 服务)。
取决于“同时运行多个进程”的含义。
Microchip PIC32 只有一个内核,所以不,如果您将“运行”解释为“执行代码指令”,则无法运行同时运行多个进程所需的多个执行线程。
这并不意味着您不能运行支持多个线程/进程并让它们都以有用和和谐的方式运行的操作系统。硬件和软件中断可以有效地改变正在运行的线程集,操作系统将在一个内核上运行其中一个,直到下一个中断,这与在任何其他具有单核架构的 uC 上相同。