C32 et library I2C...
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

C32 et library I2C...



  1. #1
    schneiderj

    Angry C32 et library I2C...


    ------

    Bonsoir !

    Jusqu'à hier j'utilisais le module I2C1 que j'ai eu bien du mal à faire tourner ! J'étais parti sur l’exemple de microchip... mais rien à faire il ne fonctionnait pas. De guerre lasse, j'ai recherché ce qui avait été essayé par ailleurs. J'ai fini par trouvé le code suivant sur le blog de gobotronics.

    Je l'ai adapté à mon hardware, et miracle il fonctionne sans problème. Mais aujourd'hui, c'est fini : les fonctions StopI2Cx()..., MasterWriteI2C2 non pas été écrite .

    Ce qui fait que j'ai l'impression que c'est un sacré bazar dans cette librairie. L'aide sur le périphérique I2C reprend l'exemple donné par Microchip (fichier I2C-PLib-Help situé dans la documentation C32). Les fonctions StopI2Cx(), ... ne semblent référencées nul part .

    Je suis donc reparti avec les bases que j'ai : le code que j'ai écrit avec BoostC il y a 4 ans pour utiliser le périphérique I2C d'un pic 18F (4520) et à manipuler directement les bits du PIC32 SEN, PEN, ON, etc. Et cela fonctionne sans souci avec peu d'effort.

    Maintenant une question : comment se fait-il que j'ai autant de mal avec cette librairie ? Suis-je le seul à rencontrer ces problèmes ?

    Jean-Marie

    -----
    Dernière modification par schneiderj ; 06/05/2012 à 12h46.

  2. #2
    RISC

    Re : C32 et library I2C...

    Salut,

    Je n'ai jamais eu de PB spécifiques avec l'I2C sur les PIC32...
    Quel PIC32 utilises-tu ?
    Il faut faire attention aux librairies utilisées car il existe plusieurs types de périphériques I2C. Les périphériques I2C des PIC32MX3/4 sont très différentes des PIC32MX5/6/7. Si tu utilises un exemple choisis de préférence un exemple qui utilise le même type de module I2C que celui de ton PIC32.
    Surtout ne "redescend" pas au niveau des registres car cela sera encore pire...

    Tu trouveras plein d'exemples de fonctions I2C qui sont utilisées dans les librairies Microchip (TCP/IP?, graphiques,..). Il suffit de trouver un projet qui utitlise un PIC32 ayant le même module que le tien (voir ci-dessus).

    Utilises le compilateurs C32 v2.02 ou XC32

    a+

  3. #3
    schneiderj

    Re : C32 et library I2C...

    Citation Envoyé par RISC Voir le message
    Quel PIC32 utilises-tu ?
    Il faut faire attention aux librairies utilisées car il existe plusieurs types de périphériques I2C. Les périphériques I2C des PIC32MX3/4 sont très différentes des PIC32MX5/6/7. Si tu utilises un exemple choisis de préférence un exemple qui utilise le même type de module I2C que celui de ton PIC32.
    Pour l'instant j'utilise un MX795, il n'est pas certain que je reste avec lui, mais ce sera un modèle de la série 5 à 7.
    Tu me dis que les périphériques I2C différent entre les pic32MX3/4 et PIC32MX5/6/7, ce que je ne savais pas. Mais dans ce cas les librairies sont sensées permettre une homogénéisation, mais cela n'est donc pas le cas. Où peu-on trouver cette information ?

    Citation Envoyé par RISC Voir le message
    Surtout ne "redescend" pas au niveau des registres car cela sera encore pire...
    Pour l'instant c'est trop tard, et cela fonctionne plutôt bien... mais je n'ai testé que l'écriture sur une eeprom ! Il faut que je modifie mon code pour la lecture puis que je teste la communication avec l'adc (ADS1100) avant de dire que tout ceci fonctionne vraiment.
    Pourquoi dis-tu que cela serait encore pire ?

    Citation Envoyé par RISC Voir le message
    Tu trouveras plein d'exemples de fonctions I2C qui sont utilisées dans les librairies Microchip (TCP/IP?, graphiques,..). Il suffit de trouver un projet qui utitlise un PIC32 ayant le même module que le tien (voir ci-dessus).

    Utilises le compilateurs C32 v2.02 ou XC32
    Merci pour le "tuyau", je vais regarder cela.
    Comme compilateur j'utilise C32 (v2.02) : je n'ai jamais regardé s'il en existait d'autre ...

    Jean-Marie

  4. #4
    schneiderj

    Re : C32 et library I2C...

    Bonsoir,

    J'ai regardé pour XC32 : c'est donc le remplaçant de C32 et microchip recommande de l'utiliser pour les développements en cour. Mais actuellement il ne semble pas y avoir de différence notable entre les deux versions.

    J'ai tout de même installé XC32... mais il n'est pas reconnu par MPLAB.X ! Les exemples sont les mêmes que ceux de C32 en particulier exemple de l'I2C dont je parle un peu plus haut.
    J'ai également fouillé dans "Microchip Application Libraries v2011", mais sans succès. Mais il est difficile de si retrouver : il y a beaucoup de code ! Je vais reprendre ce soir.

    J'ai une nouvelle question : je suis ce qui se passe sur SCL et SDA avec un analyseur logique, et hier en cour de journée je n'avais plus rien sur SCL. Le signal était collé à 5 volts, alors que SDA envoyait tranquillement toute la trame (3 bytes pour l'adresse et 10 de donnée). J'ai essayé de voir s'il y avait un faux contact, ou un souci avec mon analyseur, mais tout semble normal.
    Qu'est-ce que je pourrais remettre en cause dans mon montage qui pourrait expliquer ceci ?

    Jean-Marie

  5. A voir en vidéo sur Futura

Discussions similaires

  1. C32 - Modifier une pin sans toucher aux autres
    Par antoine6 dans le forum Électronique
    Réponses: 5
    Dernier message: 24/11/2009, 14h18
  2. [Thermique] Chaudière Saunier Duval Théma F23E type C12 C32 C42 : peu d'ECS.
    Par invite9b693512 dans le forum Dépannage
    Réponses: 3
    Dernier message: 04/01/2009, 22h23
  3. [Biologie Moléculaire] cADN library
    Par invitec657e07e dans le forum Biologie
    Réponses: 0
    Dernier message: 28/11/2007, 15h46
  4. smartheap library
    Par invite7b889da8 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 0
    Dernier message: 18/08/2005, 10h49
  5. Library simulink
    Par invite958b85a5 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 19/07/2005, 17h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.