Je ne vais pas plus loin, je pense que ces instructions agissent sur les registres.
Pour en revenir à mon problème relatif au changement d'horloge, je suis repassé en mode LSI (sans appuyer sur le bouton "reset") où j'ai pu constater un énorme écart entre cette horloge et l'horloge de mon PC.
Je suis alors revenu au mode LSE (toujours sans appuyer sur le bouton "reset") et mon horloge STM32 est revenu sagement suivre l'horloge de mon PC.
Bon, j'ai dû rêver cette histoire d'appuyer sur le bouton "reset" pour valider le changement de mode d'horloge.
L'écart que tu constate est du à la mauvaise qualité du quartz qui équipe la carte.
Si je me souvient il y a deux quartz sur cette carte :
un quartz 8 MHz pour la PLL
un quartz "horloger"
C'est sérieux ?
A chaque démarage il y a une RAZ (reset) automatique et obligatoire !!!!!!!!!!!!!!
J'ai lu le "machin" chat gpt.
Il est bien précisé qu'il faut reconfigurer les registres au préalable.
Et c'est tout ce qu'il y a de plus normal qu'une fois les registres modifiés il faille redémarer le micro sur sa nouvelle configuration.
Inutile de faire appel a de l'intelligence artificielle pour ça, la simple intelligence naturelle suffi.
Le problème de @ChPr c'est que les registres sont soit mal configurés, soit ils ne conservent pas les modifications.
Je me dois d'ajouter que lors de mes essais de cette plateforme, j'ai tué plusieurs cartes sans comprendre pourquoi.
Je n'ai jamais tué de carte avec micro Atmel ou Espressif.
Les STM32F103 me paraissent "chatouilleux".
La modification des registres ne peut être faite que suite à un téléversement. Dès lors, ils sont modifiés ... lors de la séquence de démarrage.
Ce que tu dis sous entendrait que ces modifications iraient se placer dans des cases mémoires qui ne seraient lues et appliquées qu'après un redémarrage ??
Bonjour Pierre
J'ai interprété ChatGPT ainsi:
Une fois le programme de paramétrage téléchargé, le redémarrage provoqué par le téléchargement n'est pas suffisant pour activer les nouvelles options, un reset "bouton" est nécessaire, après plus, c'est d'ailleurs ce que tu as constaté.
C'est ce que je pense.
Un principe qui ressemble aux "fuses" des avr, c'est-à-dire une mémoire eprom ou dans une zone particulière de la flash.
Comment expliquer que cela a fonctionné et que cela ne fonctionne plus ?
Avant de laisser tomber les pilules bleues j'avais été jusqu'à utiliser CubeMx pour voir comment s'établissent les différentes fréquence d'horloge à l'intérieur de la puce.
On dit que la puce tourne à 72 MHz, mon oeil !
La pll tourne à 72 MHz.
L'usb tourne avec une fréquence de 48 MHz, les périphériques (gpio, timer, pwm, etc) tournent à 36 MHz, je m'arrête là car la liste est plus longue.
C'est d'ailleurs pour cette raison que les temps d'exécution entre un digitalWrite_Fast et un digitalWrite STM32 ou ESP32 ne sont pas dans le rapport des horloges annoncées "commercialement"
Entre un atmega328p à 16 MHz et un STM32F103 à 72 MHz il n'y a en réalité qu'un rapport 2 sur le périphérique GPIO.
Tous ces réglages me paraissent permanents.
Ceci dit, je ne suis pas un spécialiste des microcontrôleurs et ce que je pense avoir compris avec ma petite intelligence naturelle peut être faux.