Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

SPI Hardware sur PIC18F27K42
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#41 Message par venom » mer. 11 févr. 2026 18:43

Tu as raison. J'abuse sur le poste a paulfjujo :oops: désolé.

Je ne suis pas chez moi avant un moment. Je verrai ce que j'ai en stock avant de commander. Je ne sais pas si j'ai des 18F en stock par contre :?

A bientôt sur un nouveau sujet







@++
Mon site web
Mon discord : venom#4888

SPI Hardware sur PIC18F27K42
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2931
Enregistré en : juillet 2016
Localisation : Terre

#42 Message par Temps-x » mer. 11 févr. 2026 20:16

venom a écrit :Source du message Je ne sais pas si j'ai des 18F en stock par contre :?

On peut aussi prendre un 16F, ça fonctionnera pareil.

Fais un inventaire de ce que tu as en écran et Pic, après on verra ce qui peut manquer.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

SPI Hardware sur PIC18F27K42
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3272
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#43 Message par paulfjujo » jeu. 12 févr. 2026 14:32

bonjour à tous,

Temps-x a écrit :...Il y a bien Terminal V1.93b mais, je n'ai pas compris comment faire,
après il y a VBRAY mais pas de proposition pour envoyer un fichier entier
...



Il y a bien Terminal V1.93b mais, je n'ai pas compris comment faire,
après il y a VBRAY mais pas de proposition pour envoyer un fichier entier

Terminal V1.93b et VBRAY
c'est la meme chose
et il ya bien une opton pour envoyer un fichier .
dans la fenetre transmit : Send file.. avec RTS/CTS ou XON/XOFF
je l'ai usité pour mon programmateur d'AT92C251 (basé sur un 18F26K22)
pour charger le fichier programme *.HEX


en ce moment j etest le chargement direct d'un BMP
en eliminant l'entete de 54 bytes pour que les pixels constituant l'image soient bien alignés

-------------------------------

concernant le chargemenr d'image BMP 16 bits :

je me sert de imagMagick pour transformer image 24 bits en 16 bits via convert_image_to_16bit565.bat

D:\Tools\ImageMagick>REM Execute the command
D:\Tools\ImageMagick>"D:\Tools\ImageMagick\magick.exe" "Image_128x160_24.bmp"
-define bmp:format=bmp -define bmp:subtype=rgb565 "Image_128x160_24-16bit565.bmp"
D:\Tools\ImageMagick>echo Image conversion completed.
Image conversion completed.
D:\Tools\ImageMagick>pause
Appuyez sur une touche pour continuer...
D:\Tools\ImageMagick>exit /b
D:\Tools\ImageMagick>

Image_128x160_24bits.bmp 61ko
Image_128x160_24-16bit565.bmp 41Ko

ouverture de Image_128x160_24-16bit565.bmp
avec wxHexEditor
0000 42 4D 8A A0 00 00 00 00 00 00 8A 00 00 00 7C 00
0016 42 4D 8A A0 00 00 00 00 00 00 8A 00 00 00 7C 00
0032 00 00 80 00 00 00 A0 00 00 00 01 00 10 00 03 00
0048 00 00 00 A0 00 00 20 1C 00 00 20 1C 00 00 00 00
0064 00 00 00 00 00 00 00 F8 00 00 E0 07 00 00 1F 00
0080 00 00 00 00 00 00 42 47 52 73 8F C2 F5 28 51 B8
0096 1E 15 1E 85 EB 01 33 33 33 13 66 66 66 26 66 66
....
41008 51 B6 72 BE 10 AE 10 AE 10 AE EF A5 AE 9D AD 9D
41024 8D 9D 6D 95 6D 95 8E 95 90 A5 B0 AD D0 AD D0 AD
41040 13 B6 54 BE DA D6 FA DE FA DE FA DE FA DE FB DE
41056 FB DE FA DE FA DE FA DE FA DE FA DE FA D6 FA D6
41072 DA CE D9 CE D9 CE 1B DF FA D6 DA D6 DA D6 FA DE
41088 FA DE FA DE D9 D6 D9 D6 B8 CE 66
last=41098

on a alors un fichier en binaire ! directement chargeable
Aide toi, le ciel ou FantasPic t'aidera

SPI Hardware sur PIC18F27K42
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3272
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#44 Message par paulfjujo » jeu. 12 févr. 2026 16:13

j'avance .....



(15:30:21.837) Demande d'envoi Fichier Image BMP
(15:30:22.817) BMŠ Š|Image_128x160_   øà
(15:30:23.821)
(15:30:23.821) 1) Stop envoi YAT
(15:30:23.821) Buffer : BMŠ 
(15:30:23.821) Entete BMP de 54 bytes
(15:30:23.821) 0> 0x420x4D0x8A0xA00x000x000x00
(15:30:23.891) 1> 0x000x000x8A0x000x000x000x7C
(15:30:23.891) 2> 0x490x6D0x610x670x650x5F0x31
(15:30:23.891) 3> 0x380x780x310x360x300x5F0x03
(15:30:23.891) 4> 0x000x000x000xA00x000x000x20
(15:30:23.891) 7> 0x200x1c0x 00x 00x 0
(15:30:23.987) BGRsÂõ(Q¸…ë333fff&fff™™™ =
(15:30:24.099) envoi datas
(15:30:24.103) ×(\2 .{írpƒ±‹°‹OƒŒbêQÉI R‹ZÍb.sƒƒ-sÌbÇ1¦)$DDeeef¦!Ç)§!
Ç)†!è)ç*ç)ç)(*(2ç)ç)è1è2(:i:ç:ªRÙ½wµÐs‰J¦)#%„­cô”ԜӜ’œ1”msmk|v­zλÖç=
ïçüÞüÞšÖ9ÆV­­r”1ŒÏ{ëZªRH2 *Ç)§*ç)ç)ç)Ç!Ç!¦!¦!Æ!Æ!Æ!Ç)ç1)BJJ‹ZjR)J†1! :
GBÇB¦:d2å)¤!Cc£ƒ‚‚¢âO{s‹°‹oƒsêQÉI
... etc ...
.... (15:30:44.892) ÖËÍÌÍîÍ3Þ4ÖVÖWÖ™ÞšÞºÞºÞÚÞÚÞúÞúÞúæúæúæùæùæùæç;ç\ï}ï
etc ..
Þ:߶εÎÕÖ¶Ö¶ÖøÞøÞ´Î“ÎÖÖ×Þ×Ö÷Ö×ÖøÖøÖØÖÙÖß;ßúޖΖÎtÆtÆR¾ð­®Î¥®¥®®¥®¥ð­¶RÆ
tΖÎùÞß;ç[ç}ï}ï]ï]ï]ï]ï]ï}ï\ï\ç[ç;ç:ç:ç:ç:ç:ç:ç:ç:çßÙÖÙιιιιΘÎwÆvÆvÆ
vÎwÎwÎwÎwÎwΙιÖÚÖÚ[Warning: Maximal number of characters per line excee
ded! Check the line break settings in [Terminal > Settings... > Text...]
or increase the limit in [Terminal > Settings... > Advanced...].]

(15:30:51.719) Fin de lecture datas BMP... Recu 20479 pixels RGB565
(15:30:51.719) Desactiver Requete BMP RA3

Avec
* Terminal_Send_Image_to_PIC_115200_2026.yat
* UART à 115200
U1BRGL = 0x8A; //BRGL 138; 115200 bds
U1BRGH = 0x00; // BRGH 0;
* SPI à 32Mhz
SPI1CLK = 0x00; //FOSC
SPI1BAUD = 0; // 32 Mhz
en gros < 28s secondes pour affichage complet 128x160 RGB565

*Optimisation Advanced settings Terminal
suppression warnig
ne pas essayer de modifier les buffer !
puis
test avec
U1BRGL = 0x22; // BRGL 34; 460800 bds YAT terminal
U1BRGH = 0x00; // BRGH 0;

(15:59:46.755) DrawImageRGB(60,60,Image_128x160,120,160);
(15:59:46.901) ..fin Affichage ImageSize = 40960
(15:59:46.950)
(15:59:46.950)
(15:59:46.950) Demande d'envoi Fichier Image BMP
(15:59:47.549) BMŠ Š|Image_128x160_   øà BGRsÂõ(Q¸…ë333fff&fff™™™ =
(15:59:47.549) ×(\2 
(15:59:48.903)
(15:59:48.903) 1) Stop envoi YAT
(15:59:48.903) Buffer : BMŠ 
(15:59:48.903) Entete BMP de 54 bytes
(15:59:48.903) 0> 0x420x4D0x8A0xA00x000x000x00
(15:59:48.903) 1> 0x000x000x8A0x000x000x000x7C
(15:59:49.001) 2> 0x490x6D0x610x670x650x5F0x31
(15:59:49.001) 3> 0x380x780x310x360x300x5F0x03
(15:59:49.001) 4> 0x000x000x000xA00x000x000x20
(15:59:49.001) 7> 0x200x1c0x 00x 00x 0
(15:59:49.059) .{írpƒ±‹°‹OƒŒbêQÉI R‹ZÍb.sƒƒ-sÌbÇ1¦)$DDeeef¦!Ç)§!Ç)†!è)ç*ç)ç)(*(2ç)ç)è1è2(:i:ç:ªRÙ½wµÐs‰J¦)#%„­cô”ԜӜ’œ1”
(15:59:49.166) envoi datas
(15:59:49.169) msmk|v­zλÖç=ïçüÞüÞšÖ9ÆV­­r”1ŒÏ{ëZªRH2 *Ç)§*ç)ç)ç)Ç!Ç!¦!¦!Æ!Æ!Æ!Ç)ç1)BJJ‹ZjR)J†1! :GBÇB¦:d2å)¤!Cc£ƒ‚‚¢âO{s‹°‹oƒ
(15:59:49.347) sêQÉI
(15:59:49.347) RkZÌjOso{
(15:59:49.347) s
.... etc....
(15:59:53.940) ¥Î­Œ•l•M•m•ŽÑ­ñµ2¶3¾vÆ·ÎûÞß;ç;çßßßßßßßßúÞúÞúÖÙÖÙÖÙÖÙÖúÞúÞúÞúÞúÞÙÖÙָθÖÙÖúÞúÞÚÖÚÖšÖyÎ6¾õµÔ­´­´­õµ¾W¾WÆxÆxÆxÎxÎyκֺ
(15:59:54.020) ÖÚÞúÞúÞûÞç<ç<ç<ç<ç<ç\ç\ç\ç\ç\ç<ç<çççßßßßßÚÖ¹Ö˜Ö˜ÎWÆ6¾¾ôµUÆ×ÖøÞ×Þ×Þ÷ÞøÞ÷Þ×Ö×ÖøÞ9çßøÖøÞ\ç}ï}ï]ï\ç<ç<ç<çß·ÎuÆt¾Q¶r¾®®
(15:59:54.059) ®ï¥®­m•m•Ž•¥°­Ð­Ð­¶T
(15:59:54.102) Fin de lecture datas BMP...
(15:59:54.102) Recu 20479 pixels RGB565
(15:59:54.102) Delay d'affichage BMP de 20 sec
(15:59:54.102) Desactiver la Requete BMP RA3

(15:59:53.940) - 15:59:48.903) => en gros 5 sec !

nota:

difference de position image
et difference de couleurs ..perte et pertubations au passage 24b -> 16b

Image_120x160_TAB_et_BMP_sur_OLED.jpg


pour l'instant je n'utilise que ton image_120x160 modifiée en 16bits
mais je compte utiliser les infos du header (54 bytes) pour afficher d'autres format d'image ( en restant sur un maxima de 240x240
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

SPI Hardware sur PIC18F27K42
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2931
Enregistré en : juillet 2016
Localisation : Terre

#45 Message par Temps-x » jeu. 12 févr. 2026 18:41

paulfjujo a écrit :Source du message j'avance .....


Moi aussi :langue:, envoie en 0,875 seconde par mon programme, avec affichage presque instantané sur mon écran SPI 8-)

0,875 seconde.png


Pour avoir un temps de diffusion aussi court, j'ai dû regarder comment étaient écrites les API de RapidQ, j'ai cru m'arracher mes cheveux.

Je n'ai plus besoin de Rscom.dll, mon programme fonctionne désormais de manière autonome.

Il est possible que ton écran ne soit pas configuré correctement en ce qui concerne les couleurs, mais cela me surprendrait de ta part.

Il est normal de perdre un peu de couleur de 16 bits vers 24 bits.

Tu as quoi comme écran pour faire tes essais

==> A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le jeu. 12 févr. 2026 19:46, modifié 1 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

SPI Hardware sur PIC18F27K42
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1644
Âge : 40
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#46 Message par venom » jeu. 12 févr. 2026 19:17

:eek: 0,875 c'est imbattable :lol: difficile de faire moins là :-D
Bravo Temps-X







@++
Mon site web
Mon discord : venom#4888

SPI Hardware sur PIC18F27K42
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3272
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#47 Message par paulfjujo » ven. 13 févr. 2026 09:53

Bonjour à tous,

Temps-x a écrit :.... envoie en 0,875 seconde par mon programme, avec affichage presque instantané sur mon écran SPI
... Tu as quoi comme écran pour faire tes essais



mon ecran : OLED GC9A01 rond
Operating voltage: 3.3V/5V <-- alim: 3,7V
Interface: SPI
LCD type: IPS
Controller: GC9A01
Resolution: 240 (H)RGB x 240(V)
Display size: F32.4mm
Pixel size: 0.135(H)x 0.135(V)mm
Dimension: 40.4 × 37.5(mm) F37.5(mm)

ton chrono est-il avec affichage simultané (au fil de l'eau) sur ton ecran ?
à quelle vitesse UART et SPI ?

nota:
mon terminal affiche aussi toutes les datas envoyées ... la vitesse reelle effective doit en etre affecté
j'ai aussi un compteur de byte 32 bits inclus dans la boucle ...

je n'ai pas appliqué une methode directe simpliste (ultra rapide) mais risquée comme
SPI1TXB = U1RBX;
car doit poser des problemes de synchro !
ou au minima
while(!PIR3bits.U1RXIF);
cc= U1RXB;
SPI1TXB = cc;
mais blocage possible dans le while..


peux-tu poster ton image a.bmp ?
Aide toi, le ciel ou FantasPic t'aidera


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités