Question sur le développement d'une couche d'abstraction matériel sur PIC18f
Discussion fermée
Affichage des résultats 1 à 3 sur 3

Question sur le développement d'une couche d'abstraction matériel sur PIC18f



  1. #1
    invite0d9389fa

    Question sur le développement d'une couche d'abstraction matériel sur PIC18f


    ------

    Bonjour,

    Je suis en train de développer une couche d'abstraction matériel sur PIC18f qui doit gérer les communications entres 2 PIC par exemple en SPI, I2C, CAN, ......

    Je m'explique :
    Aujourd'hui j'ai un code applicatif qui, entre autre chose, communique avec un autre PIC par liaison SPI. Le code applicatif appel directement le driver, avec des commandes spécifiques.
    Mon but est d'ajouter une couche logiciel entre le driver et l'applicatif afin de pouvoir utiliser seulement des commandes génériques dans mon applicatif .
    Par exemple: Ecrire(périphérique_1,Donnée_a _écrire);
    Par la suite je voudrai aussi que ma couche logiciel soit réutilisable par d'autre projet pour gérer d'autre type de communication ; RS232,CAN,I2C,USB......

    Mon problème est donc de trouver une solution qui me permet d'associer un nom quelconque de périphérique à un type de communication pour ensuite retrouver les bons paramètres à envoyer au driver. Tous cela en faisant en sorte que, pour ajouter un périphérique avec un type de communication différentes, le code soit simple à reprendre.

    Pour assigner un type de communication à un périphérique je pensais simplement utilisé les #define : #DEFINE périph_1 N , puis avec une structure en Switch->case je peux décider quel protocole lancer.
    Mais justement pour lancer le protocole il faut des arguments qui sont différents en nombre et en type suivant si c'est de l'I2C, du SPI ou autre.
    Je pensais ici utiliser une structure, si je fais une structure "Périphérique" déclaré en globale, avec plein de champs différent, typiquement ; nom_périphérique,adresse-périphérique,donnée,vitesse, longueur, etc.... est ce que cela peut fonctionner??? Et-ce possible de l'envoyer en arguments au driver?

    Je me dit que du coup pour rajouter un périphérique a la couche d'abstraction, il suffira de compléter la structure, lui rajouter des champs si cela est utiles, et juste rajouter un switch->case avec les assignations des champs de la structure. Cela vous semble-t-il cohérent??

    Je doit faire attention a la place mémoire, je suis sur PIC donc je n'ai pas non plus énormément de ressource! Les structures ne demandent-t-elle pas bcp de place???? Est-ce que je dois allouer de la mémoire avant leur exécution? ou au contraire en libérer a la fin de chaque utilisation ???

    Voila je voudrai bien avoir des avis la dessus ! Dsl pour le roman, j'espère au moins avoir été clair !!

    -----

  2. #2
    nornand

    Re : Question sur le développement d'une couche d'abstraction matériel sur PIC18f

    tu auras plus de reponse dans la rubrique programation, ici c'est fer a souder et doigt brulé .....

  3. #3
    invite0d9389fa

    Re : Question sur le développement d'une couche d'abstraction matériel sur PIC18f

    Ok merci !!

Discussions similaires

  1. Question sur le développement limité
    Par invite09849b77 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 11/02/2012, 18h43
  2. Question sur le développement limité
    Par invite032b323d dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 11/02/2012, 09h18
  3. Noob en electrolyse (question sur le matériel)
    Par invite96b22f6a dans le forum Chimie
    Réponses: 5
    Dernier message: 08/10/2011, 15h08
  4. Réponses: 1
    Dernier message: 28/09/2010, 10h35
  5. Impact d'une bille sur une couche d'eau
    Par invite5c165a0f dans le forum Physique
    Réponses: 0
    Dernier message: 23/12/2008, 11h48
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...