L'environnement : une carte Mega 2560R3 non officielle, un écran EastRising 7" (processeur RA8875) qui fonctionne en SPI et divers matériels que je n'énumére pas car rien a voir avec la question qui arrive.
Dans la ST du RA8875, je lis :
The maximum clock rate of 4-Wire SPI
write SCL is system clock / 3(i.e. SPI clock high duty must large than 1.5 system clock) and the
maximum clock rate of 4-Wire SPI read SCL is system clock / 6. About the detail protocol, please
refer to Figure 6-14, Figure 6-15, Figure 6-16 and Figure 6-17.
lien vers le .cpp en question et postez votre code source, sinon on ne peut pas répondre.
de manière générale, le compilateur initialise les variables globales (appelle le constructeur si c'est une instance d'une classe) avant que le setup soit appelé.
➜ donc si vous avez un bout de code de votre cpp dans le constructeur et que votre sketch a une variable globale de cette classe (et que les #ifdef bien sûr sont activés lors de la compilation), alors ce bout de code sera exécuté en premier avant le setup.
Si dans le setup vous effectuez des modifications alors ce sont elles qui vont être prises en compte pour le reste du code - sauf bien sûr en cas de conflit (parois appeler deux fois la fonction de configuration de quelque chose crée un souci - ça dépend du code et de ce que vous pilotez)
Voici la bibliothèque utilisée : Adafruit_RA8875.h
Donc si je comprends bien : j'ai une fréquence de fonctionnement de 16Mhz que je dois diviser par 6 pour le fonctionnement de l'écran. Ce qui donne 2.66
Dans le .cpp j'ai : SPI.setClockDivider(SPI_CLOCK_DIV4);
Je devrais donc changer l'instruction par SPI.setClockDivider(SPI_CLOCK_DIV8); qui donne comme résultat 2 ?
Dans le setup, l'instruction que j'ai ajoutée
me fait gagner un peu de rapidité en exécution non ?
Doit on respecter des paliers genre 2000000, 2500000, 30000000 ou est on libre de mettre un nombre quelconque dans les limites du matériel bien sur du genre 2125500 ?
C'est sûrement une question un peu bête mais bon je la pose quand même