Quelle est l'adresse du MCP23016 ?
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Quelle est l'adresse du MCP23016 ?



  1. #1
    Gérard

    Quelle est l'adresse du MCP23016 ?


    ------

    Bonjour,

    Il y a quelques mois, j'ai acheté des MCP23016 (expanseur I/O en I2C).
    La doc donne 0100xxxx comme adresse.
    Je constate que ça ne fonctionne pas.
    Je suis sûr de la carte et du programme. Lorsque je mets un autre 23016 (acheté ailleurs), le programme fonctionne.

    J'ai du mal à comprendre. Se peut-il que certains CI aient une autre adresse de base que 0100xxxx ?

    Merci pour vos expériences et retours.

    PS : le PCF8574 a la même adresse de base alors que le PCF8574A a 0111xxxx comme adresse.
    Peut-être qu'il existe la même chose pour le 23016.

    -----

  2. #2
    Jack
    Modérateur

    Re : Quelle est l'adresse du MCP23016 ?

    Fais voir le bout de programme qui adresse le circuit.

    Fais voir également ton schéma qu'on voit si tu as bien fixé A0, A1 et A2.

    Tu es sur que ton circuit ne répond pas? Quand je suis dans ce cas, j'écris un petit bout de programme qui boucle sur une trame simple pour voir si le ack est bon ou pas.

    A+

  3. #3
    RISC

    Re : Quelle est l'adresse du MCP23016 ?

    Salut Gérard,

    J'ai trouvé une paire de notes d'application avec le MCP23016. Tu devrais être capable d'en extraire les bonnes adresses :

    http://ww1.microchip.com/downloads/e...tes/00245a.pdf

    http://www.mcselec.com/index.php?opt...=107&Itemid=57

    a+

  4. #4
    Gérard

    Re : Quelle est l'adresse du MCP23016 ?

    Merci de vous intéresser à mon problème.

    Je suis sûr du code et de l'adresse sur la carte.
    Ci-dessous, le code qui fonctionne avec certains 23016.

    Code:
    DEB:
    		GoSub		INIT_I2C
    		
    		For i = 0 To 255
    			BusOut 01000000, 6,[0,i]
    			DelayMS	100
    		
    			BusOut 01000000, 6,[i,0] 	;1er 23016 en sortie
    			DelayMS	10
    		Next
    		
    		GoTo DEB
    
    INIT_I2C:
    
    		 
    		BusOut 01000000, 6,[0,0] 	;1er 23016 en sortie
    		DelayMS	10
    
    		
    		Return
    Il y a 8 LED bicolores branchées sur les 16 sorties, ce programme permet de les allumer à tour de rôle.

    J'ai regardé les 2 liens et les adresses trouvées correspondent à ce que j'ai dans le programme, à savoir 0100xxxx

  5. A voir en vidéo sur Futura
  6. #5
    RISC

    Re : Quelle est l'adresse du MCP23016 ?

    Gérard,

    Tu mentionnes que tes adresses ont la forme 0100xxxx, mais sur la note d'application je vois que l'adresse est sur 7 bits de forme 0100xxx et les 3 bits de poids faible sont données par des broches externes.

    a+

  7. #6
    Gérard

    Re : Quelle est l'adresse du MCP23016 ?

    Citation Envoyé par RISC Voir le message
    Gérard,

    Tu mentionnes que tes adresses ont la forme 0100xxxx, mais sur la note d'application je vois que l'adresse est sur 7 bits de forme 0100xxx et les 3 bits de poids faible sont données par des broches externes.

    a+
    Tu as raison, je voulais dire 0100A2A1A0 et le bit 0 est RW

  8. #7
    RISC

    Re : Quelle est l'adresse du MCP23016 ?

    Gérard,

    Il semble que le MCP23016 ait un temps de POR assez long (72ms typique). Laisses-tu assez de temps dans ton soft pour qu'il s'initialise avant de lui envoyer des commandes ?

    a+

  9. #8
    Gérard

    Re : Quelle est l'adresse du MCP23016 ?

    Citation Envoyé par RISC Voir le message
    Gérard,

    Il semble que le MCP23016 ait un temps de POR assez long (72ms typique). Laisses-tu assez de temps dans ton soft pour qu'il s'initialise avant de lui envoyer des commandes ?

    a+
    Ce que je ne comprends pas , c'est que certains 23016 fonctionnent.
    Comment le faire patienter 72ms ?
    Est-ce à la mise sous tension ?

  10. #9
    DavidDB

    Re : Quelle est l'adresse du MCP23016 ?

    Salut,

    Oui, les 72ms d'attente sont nécessaires après que la tension d'alimentation se soit stabilisée.

    Vérifie aussi le Start bit et Stop bit au niveau du timing, car si tu es trop juste à ce niveau, cela pourrait expliquer ton problème(paramètres 90 à 93 du datasheet).

    David.

  11. #10
    Gérard

    Re : Quelle est l'adresse du MCP23016 ?

    Citation Envoyé par DavidDB Voir le message
    Salut,

    Oui, les 72ms d'attente sont nécessaires après que la tension d'alimentation se soit stabilisée.

    Vérifie aussi le Start bit et Stop bit au niveau du timing, car si tu es trop juste à ce niveau, cela pourrait expliquer ton problème(paramètres 90 à 93 du datasheet).

    David.
    Merci à tous ceux qui m'ont aidé et particulièrement à David.
    En effet, j'ai mis une tempo de 100ms et tout est rentré dans l'ordre.

    Conclusion : tous les CI (même de même type) ne réagissent pas de la même façon.
    Je viens d'en faire l'expérience, certains fonctionnent sans tempo et les autres, les frileux, veulent une tempo.
    A retenir : il faut lire et relire les datasheet.

Discussions similaires

  1. Quelle est cette araignée... est elle dangereuse??
    Par invite3d514a32 dans le forum Identification des espèces animales ou végétales
    Réponses: 1
    Dernier message: 25/10/2009, 19h07
  2. Quelle est ce transistor ?
    Par ueihttam dans le forum Électronique
    Réponses: 3
    Dernier message: 06/03/2009, 16h54
  3. quelle est ce vers?
    Par yaqawi dans le forum Biologie
    Réponses: 8
    Dernier message: 12/09/2006, 07h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.