2013-04-09 43 views

回答

1

是的。一種方法:你可以編寫一個調度程序。一個相對簡單的方法是設置一個計時器,當計時器滴答時,你運行一箇中斷服務程序,每次運行一個任務。這被稱爲協作式多任務處理,就像任何任務超出計時器滴答聲一樣,其他任務必須等待它完成。如果任務崩潰,整個系統崩潰。

或者你可以得到某種操作系統,例如FreeRTOS有一個PIC32端口。這將爲您準備好調度(和進程間通信原語以及其他一些O/S服務)。

0

取決於你'同時運行多個進程'的含義。

Microchip PIC32只有一個內核,所以不行,如果將'run'解釋爲'執行代碼指令',則不可能同時運行多個進程所需的多個執行線程。

這並不意味着您無法運行支持多個線程/進程的操作系統,並且它們都以有用和諧的方式運行。硬件和軟件中斷可以有效地改變正在運行的線程組,並且操作系統將在一個內核中運行其中的一個,直到下一個中​​斷,與其他具有單核架構的uC相同。

+0

PIC32是否有OS? – 2013-04-09 08:48:40

+2

你似乎有硬件和操作系統的困惑。 PIC32是一塊硬件。它可以運行任何爲其編譯的軟件,包括運行一個操作系統。有許多操作系統可用,請訪問微芯片網站:www.microchip.com/rtos – Ross 2013-04-09 14:27:17