Indice del forum
Visita il sito Area SX
Area SX Divisione Elettronica
area di discussione e supporto tecnico

Informazioni e discussioni sui prodotti di Area SX
 
   CercaCerca     RegistratiRegistrati   ProfiloProfilo   LoginLogin 

Argomento: UDP e costate

 
Nuovo Argomento   Rispondi    Indice del forum -> Dynamic C e Firmware
Precedente :: Successivo  
Autore Messaggio
aldofad



Registrato: 04/02/07 20:14
Messaggi: 15

MessaggioInviato: Mar 13 Feb 13 2007 10:17    Oggetto: UDP e costate Rispondi citando

Salve,
con grande gioia riesco far comunicare il pc con il rabbit via UDP sia in un verso che nell'altro.
Per fare questo utilizzo una cosa del tipo:
Codice:

...
for(;;) {
  costate {
     tcp_tick(NULL);
     spedisciDalSocket1();
  }
  costate {
     tcp_tick(NULL);
     riceviDalSocket2();
  }
}

Le cose sembrano funzionare, ma cortesemente potreste dirmi se è corretto usare i costate in questo modo e per questa esigenza?

grazie mille
aldo
Torna in cima
Profilo Invia email HomePage MSN Messenger
battisti



Registrato: 16/09/04 08:31
Messaggi: 811

MessaggioInviato: Mer 14 Feb 14 2007 09:06    Oggetto: Rispondi citando

Dipende da quello che vuoi ottenere...
I costate ti aiutano a "parallelizzare" alcune operazioni, ma utilizzando il multitasking cooperativo. Questo vuol dire che il multitasking funziona solo se i vari costate sono "collaborativi" tra loro, cioè non appena possono rilasciano le risorse al costate successivo.
Nel tuo caso i 2 task non fanno uso di nessuna delle funzioni di "collaborazione" tra i task (waitfor, waitfordone, yield, ecc.) quindi in realtà i due task vengono eseguiti in sequenza. come se avessi scritto:

Codice:
for(;;) {
     tcp_tick(NULL);
     spedisciDalSocket1();
     tcp_tick(NULL);
     riceviDalSocket2();
}


Quindi in questo caso non sono utili.
_________________
----------------------------------------
Area SX
Massimo Battisti
----------------------------------------
Torna in cima
Profilo Invia email HomePage
Mostra prima i messaggi di:   
Nuovo Argomento   Rispondi    Indice del forum -> Dynamic C e Firmware Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti in questo forum
Non puoi rispondere agli argomenti in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum


Powered by phpBB © 2001, 2002 phpBB Group