paulfjujo a écrit :Source du message ne image en jpg et aussi le fichier correspondant en hexadecimal (du texte ascii, assimilable en C)
En quelle dimension pour ton image ?
Quelle sens de bayage ?
Modérateur : Jérémy
paulfjujo a écrit :Source du message ne image en jpg et aussi le fichier correspondant en hexadecimal (du texte ascii, assimilable en C)
Temps-x a écrit :Bonjour J'ai fait plusieurs tests en envoyant une image par l'usart sur mon écran SPI, elle met 41 secondes pour un affichage complet.![]()
A+
Code : Tout sélectionner
Ecran_Noir();
CPrint("\r\n Affichage Daffy_Duck_BMP 120x120\r\n");
CRLF1();
DrawBitMap(60,60,duck_120_bitmap,120,120,_Blanc) ;
CRLF1();
CPrint(" ..fin Affichage Image Daffy \r\n"); Code : Tout sélectionner
dans traitement dialogue operateur via YAT terminal
// BAUD SPI
if((*(p1)=='B') && (*(p1+1)=='A') && (*(p1+2)=='U')& (*(p1+3)=='D') & (*(p1+4)=='=') )
{
cx= *(p1+5);
if ( ( cx < '8') && (cx >47) ) // 0 à 7
{ SPI1CON0bits.EN = 0;
cx= *(p1+5);
SPI1BAUD =(cx-48);
CPrint("\r\nNew SPI1 BAUD="); PrintChar(cx);CRLF1();
SPI1CON0bits.EN = 1; // SPI Module is enabled
}
CRLF1();
p1=0;
}
dans l'init SPI
SPI1CLK = 0x00; // SPI Clock Source Fosc (64MHz)
// CLKSEL<3:0>: SPI Clock Source Selection bits
// 0101 = TMR2_Postscaled //0100 = TMR0_overflow
//0011 = CLKREF //0010 = MFINTOSC //0001 = HFINTOSC //0000 = FOSC
//SPI1BAUD = 31; // SPI Clock = 64MHz / (2*(31+1)) = 1MHz;
//SPI1BAUD = 15; // SPI Clock = 64MHz / (2*(15+1)) = 2MHz;
//SPI1BAUD = 7; // SPI Clock = 64MHz / (2*(BAUD+1)) = 4MHz;
//SPI1BAUD = 3; // SPI Clock = 64MHz / (2*(3+1)) = 8MHz;
//SPI1BAUD = 1; // SPI Clock = 64MHz / (2*(1+1)) = 16MHz;
SPI1BAUD = 0; // 32 Mhz
On voit donc que la vitesse UART et/ou SPI ne pese qu'en partie sur le resultat global
ou avec l'option DMA .. à potasser ! venom a écrit :Source du message Mais quand tu l'envoies tu la stock en mémoire ou l'image s'affiche au fur et à mesure sur ton écran ?
venom a écrit :Source du message Quel serait le moyen d'améliorer le temps ?
Ne pas l'écrire en C, car le programme serait plus volumineux, et plus lent venom a écrit :Source du message J'imagine stocker toutes les images dans de la mémoire a l'avance pour par exemple faire des menus graphique
paulfjujo a écrit :Source du message Questions :
* Quel protocole liaison serie utilises-tu pour le chargement du fichier ?
pour la lecture de fichier Wav via le terminal j'utilisais RTS/CTS pour
regler le flux de transfert ...et UART à 460800bds
* envoi au SPI au fil de l'eau ?
ou par paquets stockées en RAM ?
pour toutes ses précisions Temps-X
Temps-x a écrit :Je soupçonne l'usart, pas du côté Pic, mais du côté ordinateur qui attend que le tampon du pic soit vide pour y déposer la donnée.
paulfjujo a écrit :Source du message coté PC voir le parametrage COM et le nombre et taille buffers utilisés (de 1 à 16 x 4096)
paulfjujo a écrit :Source du message Question : tu geres la reception en mode pooling ou interruption ?
Temps-x a écrit :.....
Avant d'envoyer les données, je vide le buffer, et je lui alloue 65536 octets, vu que mon fichier fait 40960 octets, ça devrait loger largement.
...
un truc m'interpelleUtilisateurs parcourant ce forum : Aucun utilisateur enregistré et 31 invités
Forum de Partage et d'Entraide pour micro-contrôleur PIC, Fantas-Pic a été créé dans l'optique de réunir les débutants, les passionnés et les experts en programmation sur micro-contrôleur PIC.
Nous vous souhaitons une agréable visite, en espérant vous apporter toute l'aide que vous êtes venus chercher.
Veuillez vous inscrire ou vous connecter afin d’avoir accès à l’ensemble des fonctions du forum.