Partage
  • Partager sur Facebook
  • Partager sur Twitter

Temps Réel/Multitache

Python

    25 mars 2019 à 17:20:03

    Bonjour, tout le monde !

    J'aurais besoin de faire du temps réel dans mon programme python.

    Une tâche Lecture, et une tâche Ecriture, les deux sur le même port COM.

    La tâche Lecture lit en permanence. J'utilise la bibliothèque Serial et la fonction read() de celle-ci est bloquante.

    La tâche Ecriture écrit sur le même port mais seulement de temps en temps.

    J'aurai donc besoin de trouver une méthode pour stopper, suspendre ou tuer la tâche Lecture pour commencer la tâche Ecriture.

    Le fait que la lecture soit bloquante m'embête énormément, mais c'est la seule méthode que j'ai trouvé qui fonctionne !

    Je vous remercie d'avance pour l'aide que vous pourrez m'apporter !

    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2019 à 13:27:44

      Bonjour

      https://pythonhosted.org/pyserial/

      Dans les sections pySerial API / async ou thread tu trouvera sûrement quelque chose qui répond à ton besoin.

      • Partager sur Facebook
      • Partager sur Twitter

      typage structurel ftw

        28 mars 2019 à 17:18:25

        Perso, dès que je veux faire ce genre de choses, j'utilise after de tkinter (je crée une fenetre cachée ou non, on peut donc, grace au after, créer plusieurs taches en même temps ^^)

        Deso mais j'ai pas mon code sous la main

        • Partager sur Facebook
        • Partager sur Twitter

         "Je ne crois qu'en une seule chose : le pouvoir de la volonté humaine."  - Joseph Stalin

          29 mars 2019 à 15:12:13

          J'ai déjà essayé PySerial en association avec Threading ou Asyncio.

          Mais à chaque fois le problème c'est que comme ma lecture est bloquante, la tâche ne donne pas la main à la tâche écriture quand celle-ci intervient.

          Et comme j'utilise le même port pour la lecture infini et l'écriture, il faudrait pouvoir stopper ou suspendre la lecture pendant l'écriture. Avec une exclusion commune, un sémaphore...

          Une idée pour le problème de lecture bloquante ?

          • Partager sur Facebook
          • Partager sur Twitter

          Temps Réel/Multitache

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown