Bonjour,
Quelques (maigres) nouvelles.
Deux "frameworks" existent :
Arduino-Mbed
Earle Philhower
L'un "inspiré" du projet ARM Bbed, l'autre indépendant basé sur le sdk Raspberry.
Pour le premier, je n'ose pas employer un autre mot que "inspiré" parce que le projet ARM-Mbed_OS ne connait pas les produits Raspberry, malgré que ce soit un ARM Cortex M0.
Je ne sais pas d'où sort le projet arduino_Mbed.
@Al1fch m'a mis la puce à l'oreille en me signalant le projet E_Philhover et en précisant qu'il était plus complet que la version arduino, d'où mon envie de tests matériels avec les deux frameworks.
La première étape a été de tester les valeurs des pull-up/down
Méthode utilisée :
La datasheet dit que la valeur est comprise entre 50k et 80 k, j'ai donc chargé par 68 k qui, correctement câblée, forme un pont diviseur avec la pull-machin interne.
Je trouve une valeur pull-up = 29 k et pull down 22 k. Valeurs nettement inférieures aux indications de la datasheet.
Je pense que ma méthode est valable, mais je ne le garantirai pas.
Le STRENGTH :
Ce qui m'a le plus intrigué, c'est le réglage du "strength" (~sortance en courant ?).
J'ai chargé une sortie avec 220 ohms, soit un courant max théorique de 14 mA.
On ne peut le modifier qu'avec le SDK.
À noter que le réglage Arduino correspond au seul réglage "4MA".

Sous 14 mA théorique (Vcc/résistance de charge)
Entre 2MA et 12MA la tension disponible sur un gpio varie de 2,09 V à 2,79 V.
Le courant lui varie de 9,5 mA à 12,7 mA.
C'est "comme si" le Rdson du transistor de sortie variait de 33 ohms (12MA), 44 ohms (8MA), 75 ohms (4MA) et 122 ohms (2MA).
Que penser ?
Déjà si ce réglage existe, c'est que Raspberry a jugé utile de le faire.
Un réglage très ressemblant existe sur les STM32 et probablement ailleurs.
Je suppose qu'il y a une corrélation entre la vitesse de commutation des sorties et la "sortance" en courant. Je n'ai pas les moyens de le vérifier actuellement.
Ce réglage MA est je pense un point très important dans l'utilisation d'un microcontrôleur.
J'aurais tendance à n'utiliser que le projet Earle Philhover.
D'autant que la possibilité d'introduire une hystérésis sur les entrées (trigger de Schmitt) n'existe pas sur arduino-Mbed.
Ce framework (E Philhover) n'est pas encore pris formellement en charge par PlateformIO, une solution provisoire existe et sa dernière version se trouve expliquée ici :
https://arduino-pico.readthedocs.io/en/latest/
Évitez la nombreuse prose dépassée que l'on trouve ici ou là.
Attention : il n'est pas possible actuellement d'avoir dans l'espace de travail de PIO simultanément un projet avec le framework arduino et le framework E_Philhower.
Il faut supprimer de l'espace de travail (il n'y a pas effacement) avant de changer de framework.
PS : concernant les registres qui gèrent les gpios je n'ai encore pas trouvé, je pense être allergique aux registres ARM.