Thread e win7 embedded

di il
4 risposte

Thread e win7 embedded

Buongiorno a tutti,
scrivo per un problema sul quale non riesco ad essere molto preciso perchè, per ora, non ho elementi in più. Quindi più che altro mi servirebbe un vostro parere sulla questione.
Ho una applicazione, scritta in C# che, sul mo PC con Win10 gira splendidamente. Ho installato il tutto su un PC panel di un cliente che però ha come SO Windows 7 embedded e qui ho notato dei blocchi saltuari (il classico: l'applicazione ha smesso di funzionare... ecc.. ecc..).
L'applicazione fa uso di un thread separato che si occupa di interrogare una apparecchiatura esterna connessa in seriale ad intervalli regolari. Mi è venuto allora in mente di bloccare questo thread per fare delle prove ed il problema non si è più ripresentato.

Il thread è il classico:
 
            Do {
            
                //faccio le mie cose
                Thread.Sleep(20);
          	 } While (!flaguscita)
il "flaguscita" praticamente va true quando termino l'applicazione.

Ora visto che, come ho detto sopra, sul mio PC non mi ha mai dato problemi e l'unica differenza che ho riscontrato finora è il differente sistema operativo (beh ovviamente anche l'hardware è diverso), ho pensato che forse in Win 7 embedded le applicazioni a più thread hanno problemi e magari occorra qualche "trucchetto" per farle andare.
Ma sono mere supposizioni dettate dalla mia non conoscenza.
Il fatto che la compilazione sia stata fatta su un PC con Win10 può dare problemi su un PC con un SO antecedente? Il net framework è lo stesso (4.5.1).

Qualcuno ha qualche idea?
Grazie

4 Risposte

  • Re: Thread e win7 embedded

    Nella mia (scarsa) esperienza difficilmente ho visto problemi del sistema operativo, del compilatore o del framework; sarei più propenso a pensare ad una differenza di comportamento del dispositivo che hai collegato, magari un driver non aggiornato.
    Ti suggerisco comunque di fare una serie di prove:
    - un test con un'altra postazione Win 7 embeeded, possibilmente hw (pc) diverso, per capire se è proprio il s.o. oppure è proprio il pc del cliente nel suo insieme a manifestare il problema
    - se possibile, aggiungi codice per gradi al thread "funzionante" fino ad ottenere il malfunzionamento; questo potrebbe indicarti un errore che per qualche motivo non si manifesta sul tuo pc
    - verifica se è eventualmente un problema di driver della periferica
  • Re: Thread e win7 embedded

    Intanto grazie per la tempestiva risposta candaluar, funzioni meglio di una hotline .
    Torniamo seri...
    verifica se è eventualmente un problema di driver della periferica
    ci ho pensato ma in pratica è una seriale connessa ad una porta USB tramite un apposito adattatore, lo stesso in entrambe i casi.
    Il thread non fa niente di speciale: invia una stringa di caratteri sulla seriale e resta in ascolto della risposta.
    Lo scambio dati tra il thread ed il flusso principale è fatto tramite una piccola classe.
  • Re: Thread e win7 embedded

    ci ho pensato ma in pratica è una seriale connessa ad una porta USB tramite un apposito adattatore, lo stesso in entrambe i casi.
    Potrebbe anche essere che il pc del client abbia qualche incompatibilità o problema su USB, risolvibile con aggiornamenti firmware della motherboard o semplicemente cambiando porta a cui connetti il cavo USB (magari sei collegato su una porta USB1.1)...
    L'unica cosa che posso suggerirti è di provare la stessa applicazione in diversi ambienti (come ti dicevo) e anche provando versioni intermedie del sw: ad esempio lasci la comunicazione seriale ma commenti lo scambio dati interno (potenzialmente potrebbe anche essere quello).
  • Re: Thread e win7 embedded

    Si hai ragione,penso proprio che l'unica cosa da fare sarà provare a smanettare su un altro PC simile che ho in ufficio.
Devi accedere o registrarti per scrivere nel forum
4 risposte