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
    JuanLuis

    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
    JuanLuis

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

    Ok merci !!

Sur le même thème :

Discussions similaires

  1. Question sur le développement limité
    Par saku-007 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 11/02/2012, 17h43
  2. Question sur le développement limité
    Par math-geek dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 11/02/2012, 08h18
  3. Noob en electrolyse (question sur le matériel)
    Par Budwasser dans le forum Chimie
    Réponses: 5
    Dernier message: 08/10/2011, 14h08
  4. Réponses: 1
    Dernier message: 28/09/2010, 09h35
  5. Impact d'une bille sur une couche d'eau
    Par lethalis dans le forum Physique
    Réponses: 0
    Dernier message: 23/12/2008, 10h48