Numérotation des GPIOs

Bonsoir à tous...

Une nouvelle question qui a du être posé mais je n'ai pas trouvé de réponses qui éclaircissent ma lanterne...cela reste toujours aussi brumeux.
Je vois des microcontrôleurs comme par exemple les ESP32 qui ont des broches qui passent de 6 à 14 puis à 21, 22....retour à 7.
Enfin je ne comprends pas du tout comment se fait la numérotation physique des broches.
J'ai compris qu'il y a la numérotation physique et la numérotation effective...mais pourquoi est ce que c'est si peu intuitif ?

" ...par exemple, la GPIO5 de l'esp8266 est la pin n° 24".

Pourquoi en arriver là...pourquoi tant de haine...

Merci pour votre aide et vos explications ..

Disposition des composants pour un acheminement des fils plus efficace.

Mais du coup, est ce que la numérotation a un sens ?
Pourquoi la pin 10 est également GPIO32 ?
Pourquoi ne pas indiquer 32 sur la carte ?...
Désolé je suis perdu....

Il y a Arduino et les autres.

Arduino renomme sur ses cartes les Entrées/Sorties du micro.
Arduino les renomme pensant simplifier la vie des utilisateurs ce qui est souvent raté.

Exemple les pins A0 à A5 sont déclarées analogiques alors que ce sont des pins tout ce qu'il y a de numérique, mais qui peuvent être déroutées vers une entrée du convertisseur analogique digital.

Les autres ESP, STMicro, Rasp PI, etc.., conservent les noms donnés par le concepteur du microcontrôleur.

Le désordre apparent :
Quand on renomme, on met dans l'ordre.

Quand on ne renomme pas, on fait au mieux pour éviter des croisements de pistes.
Très généralement les microcontrôleurs ont beaucoup d'E/S. Les sortir tous obligerait à avoir des circuits imprimés de grande taille, le plus souvent inutilement.

Chaque concepteur de carte fait ses choix.
Deux cartes équipées avec le même microcontrôleur Espressif, par exemple, mais conçues par deux sociétés différentes peuvent avoir des pins communs et d'autres différents.
C'est leur droit, Arduino n'est pas la référence, ce type de cartes existait qu'Arduino n'existait pas encore.
Il faut s'y faire.

Oublies les numéros de pin. Tu vois bien que ce document est complètement débile il y a 8 fois pin1 et de nombreuses pins apparaissent 2 fois.
Dans les programmes c'est le numéro des GPIO qu'il faut utiliser.

En voila une moins perturbante

Oui il y a un sens, le GPIO32 du microcontrôleur est connecté à la broche 6 de ta carte de développement(j'ai repris le pinout de @fdufnews , la tienne étant pour le moins bizarre).
Cela reste un choix, mais il y a une forme de simplicité d'avoir des broches numéroté dans un ordre logique, pour les retrouvés lorsque l'on n'a pas la sérigraphie face visible ou bien éclairée

La numérotation des pins a un sens.
Elle correspond à la position des entrées/sorties sur le module. Elle démarre à 1 et tourne dans le sens antihoraire. Cette numérotation est utilisée dans les schémas électrique qui utilisent le module. C'est aussi un standard utilisé pour identifier les broches des circuits intégrés.
Elle fournit un repère utile lors du câblage de prototype soudé, par exemple, qui se fait sur l'envers de la carte et donc on ne voit pas la sérigraphie sur le module.

Merci pour vos réponses.
C'est plus clair.
En fait, pour moi il y a une confusion au départ entre la puce et le microcontrôleur.
La position de la puce avec ses propres broches fait que l'on ne peut pas retrouver la numérotation sur la plaquette.
Est ce que c'est ça ?

La confusion vient entre la carte / plaque et la puce / SOC / microcontrôleur.
Par contre j'ai remarqué que pour l'ESP32 les numéros des GPIO (donc côté SoC) sont respectés sur les cartes. Peut-être que les fabricants des cartes sont plus sérieux.

Salut.
Pour un ESP8266 D1 MINI par exemple la correspondance entre GPIOs et PINs est décrite :


Le code est également en accord avec cela :
https://github.com/esp8266/Arduino/blob/master/variants/d1_mini/pins_arduino.h
Ici on voit bien D0 = 16

Si tu veux utiliser les N° de PINs à la sauce ARDUINO, utilise les notations D0 - D8.
Si tu veux utiliser les N° de GPIOSs à la sauce ESP8266, utilise les notations 0, 1, 2, 3, etc.

Pour certaines cartes ESP32 ce n'est pas le cas, en tous cas pour ce qui concerne les I/O digitales :


https://github.com/espressif/arduino-esp32/blob/master/variants/doitESP32devkitV1/pins_arduino.h

Mais ce n'est pas une règle générale. Par exemple pour une D1 MINI32 :

Ici également, le fichier pins_arduino.h indique la correspondance :
https://github.com/espressif/arduino-esp32/blob/master/variants/d1_mini32/pins_arduino.h

Pour une question de clarté Je me suis permis de renommer le titre de ton sujet.

Il y a d’une part la dénomination des pins faites par le fabricant du microcontroleur et d’autre part les inscriptions sur la carte circuit imprimé.

Dans l’IDE il y a un fichier spécifique a chaque carte qui fait la traduction entre les noms choisis par le ”fabricant de carte” et les nom officciels choisis par le ”fabricant du microcontroleur”.
Grace à ce fichier le fabricant de carte peut renommer comme il le veut.

Toi tu as juste a ne pas te tromper de carte et utiliser les noms écrits sur le circuit imprimé.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.