1
Bibliothèques / Re : Bibliothèque Wire I2C
« le: février 15, 2023, 10:56:45 am »
.. oui un post poussiéreux mais toujours d'actualité.
Bonjour
un retour sur un problème rencontré avec la librairie Wire ( peut être utile pour Locoduino)
sur un module DS3231 en cas de rupture de l'alimentation 5volt l'Arduino freez .
un problème ancien, résulta de l’enquête.
2018 - Un défaut connu dans le code Arduino I2C provoque des problèmes de raccrochage
https://www.fpaynter.com/2018/08/known-defect-in-arduino-i2c-code-causes-hangup-problems/
2019 - Bibliothèque I2C / Wire: modifications
https://github.com/arduino/ArduinoCore-avr/pull/107
2020 - Document Wire timeout API
https://github.com/arduino/reference-en/issues/895
les mots de la fin
"...Ces changements permettent aux communications I2C de fonctionner sans risque de verrouiller tout votre firmware lorsque quelque chose d'inattendu se produit dans le bus et résout des dizaines de ( centaines? ) d'étranges insectes signalés au cours de la dernière décennie.
La nouvelle bibliothèque Wire a vu son API étendue pour inclure les nouvelles fonctions suivantes pour gérer la fonction de délai d'expiration."
https://reference.arduino.cc/reference/en/language/functions/communication/wire/setwiretimeout/
post peut être inutile , déplacer ou supprimer ?
A+
la version longue sur https://forum.arduino.cc/t/librairie-makuna-freez/1081415
info sympa : http://www.gammon.com.au/i2c
Bonjour
un retour sur un problème rencontré avec la librairie Wire ( peut être utile pour Locoduino)
sur un module DS3231 en cas de rupture de l'alimentation 5volt l'Arduino freez .
un problème ancien, résulta de l’enquête.
2018 - Un défaut connu dans le code Arduino I2C provoque des problèmes de raccrochage
https://www.fpaynter.com/2018/08/known-defect-in-arduino-i2c-code-causes-hangup-problems/
2019 - Bibliothèque I2C / Wire: modifications
https://github.com/arduino/ArduinoCore-avr/pull/107
2020 - Document Wire timeout API
https://github.com/arduino/reference-en/issues/895
les mots de la fin
"...Ces changements permettent aux communications I2C de fonctionner sans risque de verrouiller tout votre firmware lorsque quelque chose d'inattendu se produit dans le bus et résout des dizaines de ( centaines? ) d'étranges insectes signalés au cours de la dernière décennie.
La nouvelle bibliothèque Wire a vu son API étendue pour inclure les nouvelles fonctions suivantes pour gérer la fonction de délai d'expiration."
Code: [Sélectionner]
void setWireTimeout(uint32_t timeout = 25000, bool reset_with_timeout = false);
bool getWireTimeoutFlag(void);
void clearWireTimeoutFlag(void);
https://reference.arduino.cc/reference/en/language/functions/communication/wire/setwiretimeout/
post peut être inutile , déplacer ou supprimer ?
A+
la version longue sur https://forum.arduino.cc/t/librairie-makuna-freez/1081415
info sympa : http://www.gammon.com.au/i2c