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 ---
- 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 ---
Modérateur : Jérémy
XC8 et fonction sizeof problemo
- paulfjujo

Maître- Messages : 3256
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour
Packaged project in C:\MPLABX_Projects\Test_Lect_Wav_en_Flash_18F27K42_2024.X
bedit problem
avec fichier son wav
//WAV tout nu tou bronze 106Ko
const uint8_t SonWav[64000]= // 4000 lignes de 16 datas
// 2em partie
const uint8_t SonWav1[42304]= // 2644 lignes de 16 datas
et
uint8_t CRam1[64];
uint32_t L0,L1,L2;
const uint8_t SonWav[64000]= ... // 4000 lignes de 16 datas
et la suite
// 2em partie
const uint8_t SonWav1[42304]= ..... // 2644 lignes de 16 datas
taille de L2=0 ????
si impression sur la meme ligne !!
mais OK en 2 lignes séparées
(15:20:45.027) Test_Lect_Wav_en_Flash_18F27K42_2024
(15:20:45.070) SonWav_tou_nu_tou_bronze_datas_en_2_tables.txt 106k
(15:20:45.070) SonWav size L1=64000 , SonWav1 L2=0
(15:20:45.070)
(15:20:45.070) SonWav L1=64000 SonWav1 L2=42304
Packaged project in C:\MPLABX_Projects\Test_Lect_Wav_en_Flash_18F27K42_2024.X
bedit problem
avec fichier son wav
//WAV tout nu tou bronze 106Ko
const uint8_t SonWav[64000]= // 4000 lignes de 16 datas
// 2em partie
const uint8_t SonWav1[42304]= // 2644 lignes de 16 datas
et
uint8_t CRam1[64];
uint32_t L0,L1,L2;
const uint8_t SonWav[64000]= ... // 4000 lignes de 16 datas
et la suite
// 2em partie
const uint8_t SonWav1[42304]= ..... // 2644 lignes de 16 datas
taille de L2=0 ????
si impression sur la meme ligne !!
mais OK en 2 lignes séparées
Code : Tout sélectionner
L1=sizeof(SonWav);
L2=sizeof(SonWav1);
sprintf(CRam1,"SonWav size L1=%u , SonWav1 L2=%u \r\n",L1,L2);
Print(CRam1);
CRLF1();
L1=sizeof(SonWav);
sprintf(CRam1,"SonWav L1=%u ",L1); //
Print(CRam1);
L2=sizeof(SonWav1);
sprintf(CRam1," SonWav1 L2=%u \r\n",L2); //
Print(CRam1);
(15:20:45.027) Test_Lect_Wav_en_Flash_18F27K42_2024
(15:20:45.070) SonWav_tou_nu_tou_bronze_datas_en_2_tables.txt 106k
(15:20:45.070) SonWav size L1=64000 , SonWav1 L2=0
(15:20:45.070)
(15:20:45.070) SonWav L1=64000 SonWav1 L2=42304
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
XC8 et fonction sizeof problemo
Bonjour Paul,
Chez moi il l'affiche correctement dès le premier Print. Faut pas trop abuser du Dom Pérignon
En déclarant CRam1 en char* il y aurait beaucoup moins de warnings.
Il y a 3999 et 2641 lignes dans le fichier data, mais cela n'est pas gênant.
Rectificatif, j'ai le même bug, pourtant au début il me l'affichait correctement, étrange. Là le bug est permanent, même avec le simulateur. Pourtant je suis sûr que c'était bon, l'affichage était ok sur le terminal PC. Mais comme je n'avais pas activé le log sur disque, on le saura jamais.
Bon, pour terminer, toujours la même chose, c'est sprintf qu'il faut correctement utiliser. avec un %u elle attend un int, avec %lu elle attend un long ou un (u)int32_t, et l'affichera converti en unsigned. Le premier %u marche quand même, pas le second, il doit y avoir une explication. Quoique de toute façon sprintf ne garantit rien lorsqu'on ne l'utilise pas correctement.
En tout cas tout à l'heure j'ai dû faire un essai en %lu d'entrée, donc j'y ai pensé tout de suite, et ensuite ma mémoire l'a zappé, elle est vraiment dans les choux hiboux cailloux.
Ce qui marchera :
sprintf(CRam1,"SonWav size L1=%lu , SonWav1 L2=%lu \r\n", L1, L2);
sprintf(CRam1,"SonWav size L1=%u , SonWav1 L2=%u \r\n", (int)L1, (int)L2);
Chez moi il l'affiche correctement dès le premier Print. Faut pas trop abuser du Dom Pérignon
En déclarant CRam1 en char* il y aurait beaucoup moins de warnings.
Il y a 3999 et 2641 lignes dans le fichier data, mais cela n'est pas gênant.
Rectificatif, j'ai le même bug, pourtant au début il me l'affichait correctement, étrange. Là le bug est permanent, même avec le simulateur. Pourtant je suis sûr que c'était bon, l'affichage était ok sur le terminal PC. Mais comme je n'avais pas activé le log sur disque, on le saura jamais.
Bon, pour terminer, toujours la même chose, c'est sprintf qu'il faut correctement utiliser. avec un %u elle attend un int, avec %lu elle attend un long ou un (u)int32_t, et l'affichera converti en unsigned. Le premier %u marche quand même, pas le second, il doit y avoir une explication. Quoique de toute façon sprintf ne garantit rien lorsqu'on ne l'utilise pas correctement.
En tout cas tout à l'heure j'ai dû faire un essai en %lu d'entrée, donc j'y ai pensé tout de suite, et ensuite ma mémoire l'a zappé, elle est vraiment dans les choux hiboux cailloux.
Ce qui marchera :
sprintf(CRam1,"SonWav size L1=%lu , SonWav1 L2=%lu \r\n", L1, L2);
sprintf(CRam1,"SonWav size L1=%u , SonWav1 L2=%u \r\n", (int)L1, (int)L2);
XC8 et fonction sizeof problemo
- paulfjujo

Maître- Messages : 3256
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Merci Satinas,
De plus, j'avais déja rencontré ce probleme avec ta même réponse dans un autres post ..perdu dans Fantaspic
Neurones en partance ... !
j'espere qu'il m'en restera en 2025
j'ai mis ce contenu .. surtout pour moi - meme
De plus, j'avais déja rencontré ce probleme avec ta même réponse dans un autres post ..perdu dans Fantaspic
j'espere qu'il m'en restera en 2025
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Qui est en ligne
Utilisateurs parcourant ce forum : Bing [Bot] et 8 invités

