Bonjour à tous,
je viens à la recherche d'idées parce que j'en suis à court. J'ai récemment fait une bibliothèque de fonctions permettant de diriger les pins GPIO sur mon raspberry pi. Je souhaiterai mettre un capteur de température et d'hygrométrie (le DHT22). Pour cela, je vais faire une bibliothèque qui s'appuie sur la précédente. Mais, je me suis rendu compte que deux processus pourraient avoir envie d'utiliser la même pin en même temps, ce qui parasiterait totalement la lecture ou l'écriture sur le médium. C'est pour cette raison que je souhaiterai protéger l'accès aux ressources en m'appuyant sur le principe du sémaphore.
Pour cela, j'avais imaginé lancer un programme qui réserve quelques octets dans la mémoire centrale et qui enregistrerait le PID du processus qui a accès à la ressource en question. Une fois fini, ce programme remet à zéro les octets en question. Le fonctionnement est similaire aux fonctions init,P et V. Le problème est qu'il faut que tous les processus aient l'adresse de cette espace mémoire et qu'ils puissent y accéder. Je pensais enregistrer l'adresse comme variable d'environnement du système avec setenv(). Mais, je ne sais pas comment récupérer l'adresse comme les variables d'environnement sont des chaînes de caractère.
Quelqu'un aurait-il une meilleure idée ou une solution à mon problème ?
Merci par avance.
shinishi
-----