Avertissements "gentils" du compilateur

Bonjour,

J'ai quelques soucis avec mon écran tft, il m'affiche aléatoirement dans le temps des caractères bizarres ou des lignes un peu n'importe ou.

Cela pourrait il être du aux avertissements ci-dessous :

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\main.cpp: In function 'main':
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:184:11: warning: 'vsync_start' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_VSTR0, vsync_start-1); // Vsync start position = VSTR + 1
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:143:12: note: 'vsync_start' was declared here
uint16_t vsync_start;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:182:11: warning: 'vsync_nondisp' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_VNDR0, vsync_nondisp-1); // V non-display period = VNDR + 1
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:142:12: note: 'vsync_nondisp' was declared here
uint16_t vsync_nondisp;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:186:11: warning: 'vsync_pw' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_VPWR, RA8875_VPWR_LOW + vsync_pw - 1); // Vsync pulse width = VPWR + 1
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:141:11: note: 'vsync_pw' was declared here
uint8_t vsync_pw;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:175:40: warning: 'hsync_nondisp' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_HNDR, (hsync_nondisp - hsync_finetune - 2)/8); // H non-display: HNDR * 8 + HNDFTR + 2 = 10
^
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\Users\Eric\AppData\Local\Temp\arduino_build_854631/TEST_Gestion_Aquarium_V2-0.ino.elf" "C:\Users\Eric\AppData\Local\Temp\arduino_build_854631/TEST_Gestion_Aquarium_V2-0.ino.eep"

uint8_t hsync_nondisp;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:177:52: warning: 'hsync_pw' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_HPWR, RA8875_HPWR_LOW + (hsync_pw/8 - 1)); // HSync pulse width = (HPWR+1) * 8
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:138:11: note: 'hsync_pw' was declared here
uint8_t hsync_pw;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:176:36: warning: 'hsync_start' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_HSTR, hsync_start/8 - 1); // Hsync start: (HSTR + 1)*8
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:137:11: note: 'hsync_start' was declared here
uint8_t hsync_start;
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:169:11: warning: 'pixclk' may be used uninitialized in this function [-Wmaybe-uninitialized]
writeReg(RA8875_PCSR, pixclk);
^
C:\Users\Eric\Documents\Arduino\libraries\CTP_ER-TFTM043A2-3\Adafruit_RA8875.cpp:136:11: note: 'pixclk' was declared here
uint8_t pixclk;
^

En pièce jointe le fichier RA8875.cpp.

je sais que je ne donne pas tous les éléments utiles (schéma, matériel, etc) mais c'est juste pour savoir si un lien est possible entre ces avertissements et les anomalies d'affichage.

J'ai supprimé volontairement de mon code la partie Control Touch Panel, ça élimine déjà une source car les pb persistent.

Si c'est non, je ferais un autre post avec le schéma, le matériel et le code car j'ai pensé aussi à un pb de "parasites" lors de certaines actions (relais).

Merci par avance de votre aide

Adafruit_RA8875.cpp (37 KB)

je ne pense pas que les warnings soient le souci (les valeurs sont initialisées dans un if qui n'a pas de else donc le compilateur pense (c'est correct) qu'il se pourrait que les variables ne soient pas initialisées si la taille de l'écran est inconnue... mais c'est normalement jamais le cas.

Avez vous d'autres éléments sur le bus SPI ?
et bien sûr si vous avez des perturbations électromagnétiques, ça peut jouer.

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