Go Down

Topic: esecuzione di due funzioni in parallelo (Read 714 times) previous topic - next topic

dorotea12

salve, vorrei una piccola informazione:
è possibile eseguire due funzioni parallelamente?
Mi spiego meglio:
per un tempo T=0 voglio che inizi una funzione, per T=20 voglio che inizi una seconda funzione ma contemporaneamente le prima deve continua il suo ciclo.

gpb01

NO, la MCU è una e non è ovviamente multicore, ma ...
... puoi alternare tra le due eseguendo un po' dell'una ed un po' dell'altra, purché nessuna delle due sia bloccante.

Prova a guardare queste due librerie ... PRIMA e SECONDA

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

Oppure potresti provare il porting dello scheduler (originariamente nato solo per Arduino DUE) fatto dall'utente del forum vbextreme che trovi QUI

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed

C'è anche questa, usa lo stesso principio della LeOS2 però è più leggera, totalmente in C, ed è più precisa.
Scientia potentia est

dorotea12

Oppure potresti provare il porting dello scheduler (originariamente nato solo per Arduino DUE) fatto dall'utente del forum vbextreme che trovi QUI

Guglielmo
vorrei provare questo, ma ho scaricato la libreria, ma quando cerco di compilare uno degli esempi(l'esempio MultiplePWM) mi da errore. Mi da:
'class SchedulerClass' has no member named 'startLoop'.
Come posso risolvere questo problema?

gpb01

Evidentemente hai installato male la libreria ...
... appena provato con l'IDE 1.6.9:

Code: [Select]
Sketch uses 3,330 bytes (10%) of program storage space. Maximum is 32,256 bytes.
Global variables use 82 bytes (4%) of dynamic memory, leaving 1,966 bytes for local variables. Maximum is 2,048 bytes.

... scaricato lo zip lo devi scompattare, eliminare dal nome della cartella il "-master" (quindi si deve chiamare solo "Scheduler") e la devi mettere nella cartella delle tue librerie. Devi selezionare la giusta board e caricare da "File -> Examples -> Scheduler -> MultiplePWM"

Guglielmo
Search is Your friend ... or I am Your enemy !

dorotea12

Evidentemente hai installato male la libreria ...
... appena provato con l'IDE 1.6.9:

Code: [Select]
Sketch uses 3,330 bytes (10%) of program storage space. Maximum is 32,256 bytes.
Global variables use 82 bytes (4%) of dynamic memory, leaving 1,966 bytes for local variables. Maximum is 2,048 bytes.

... scaricato lo zip lo devi scompattare, eliminare dal nome della cartella il "-master" (quindi si deve chiamare solo "Scheduler") e la devi mettere nella cartella delle tue librerie. Devi selezionare la giusta board e caricare da "File -> Examples -> Scheduler -> MultiplePWM"

Guglielmo
Ho proprio fatto cosi, ma mi da errore: "Scheduler' was not declared in this scope"

gpb01

#7
Jun 27, 2016, 03:33 pm Last Edit: Jun 27, 2016, 03:34 pm by gpb01
... non so che dirti visto che, come ti ho mostrato, a me funziona perfettamente !

Che versione di IDE stai usando? Sistema operativo? Che board hai selezionato? 

Guglielmo
Search is Your friend ... or I am Your enemy !

dorotea12

... non so che dirti visto che, come ti ho mostrato, a me funziona perfettamente !

Che versione di IDE stai usando? Sistema operativo? Che board hai selezionato?

Guglielmo
Ho risolto il problema. Avevo IDE 1.0. Ora ho scaricato IDE 1.6.9 e non mi da più errore.
Ora provo ad applicarlo.
La ringrazio per l aiuto

Go Up