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 : mazertoc
Lecture d'un son avec Pic
Lecture d'un son avec Pic
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
en ouvrant un autre projet et reduisant mon code au minimum et utilisant tes fonctions Flash ...
aucun autre fichier c ou h, pas de MCC ...!
code 16699 bytes .. adresse flash de depart à 4200h ecriture bloc et fichier wav de 106K
ecriture Bloc de 128 Bytes 00381 @ Flash 65024
ecriture Bloc de 128 Bytes 00382 @ Flash 65152
ecriture Bloc de 128 Bytes 00383 @ Flash 65280
ecriture Bloc de 128 Bytes 00384 @ Flash 65408 +128=65536 !
LE PROGRAMME FAIT UN RESET !
RAZ buffer UART
Projet MPLABX :18F27K42_Test_Ecr_Lec_Flash_2022-09.X
Version : 2022-0919
Compile le Sep 19 2022 a 14:18:16 UTC
avec version XC8 : 2360
Taille Data (at offset 40) = Taille Data = 106235 bytes
Max Blocs de 128 bytes = 829
je vais refaire le (dernier !) meme test avec MikroC ! et tes fonctions flash
aucun autre fichier c ou h, pas de MCC ...!
code 16699 bytes .. adresse flash de depart à 4200h ecriture bloc et fichier wav de 106K
ecriture Bloc de 128 Bytes 00381 @ Flash 65024
ecriture Bloc de 128 Bytes 00382 @ Flash 65152
ecriture Bloc de 128 Bytes 00383 @ Flash 65280
ecriture Bloc de 128 Bytes 00384 @ Flash 65408 +128=65536 !
LE PROGRAMME FAIT UN RESET !
RAZ buffer UART
Projet MPLABX :18F27K42_Test_Ecr_Lec_Flash_2022-09.X
Version : 2022-0919
Compile le Sep 19 2022 a 14:18:16 UTC
avec version XC8 : 2360
Taille Data (at offset 40) = Taille Data = 106235 bytes
Max Blocs de 128 bytes = 829
je vais refaire le (dernier !) meme test avec MikroC ! et tes fonctions flash
Lecture d'un son avec Pic
Je pense pas que les fonctions MCC aient des problèmes, il doit y avoir un bug caché quelque part.
Ce n'est sans doute pas l'uart non plus car j'ai testé ton programme ainsi, avec les 2 types de routines flash, et cela plantait dans les 2 cas.
C'est sizeof(Buffer1) plutôt que sizeof(Buffer1) - 1
Ce n'est sans doute pas l'uart non plus car j'ai testé ton programme ainsi, avec les 2 types de routines flash, et cela plantait dans les 2 cas.
Code : Tout sélectionner
Init_Hardware();
CM1CON0 = 0;
CM1CON1 = 0;
INTERRUPT_Init();
UART1_Init();
for (L2 = 0x10000-128; L2 < 0x11000; L2 += 128) {
sprintf(CRam1, "\nEcriture Bloc de 128 Bytes %05d @ Flash %lu ", BN, L2);
Print(CRam1);
p1 = Buffer1;
// FLASH_WriteBlock1(L2, p1);
FlashPageErase(L2);
FlashPageWrite(L2, p1);
__delay_ms(500);
}
Code : Tout sélectionner
for (i = 0; i<sizeof (Buffer1) - 1; i++) Buffer1[i] = 0;
C'est sizeof(Buffer1) plutôt que sizeof(Buffer1) - 1
Lecture d'un son avec Pic
Lecture d'un son avec Pic
Bonsoir paulfjujo, satinas, et tout le forum,
Pour changer un peu....voici une version par notre maître Bigonoff, pour écrire en mémoire flash, un peu de code ASM, comprends rien en C
C'est vraiment être Anti-ASM pour ne pas prendre les exemples qui existe
Je ne fais pas la même chose que toi, moi j’envoie des octets par rs232, puis le pic les lient, après c'est vrai que ça peut être intéressant de stocker un extrait de chanson d'un temps de 10 à 15 secondes en mémoire flash, ou des données comme une eeprom le ferais.
Je vais voir par la suite pour stockage des données en mémoire flash, mais pour l'instant je n'ai pas tellement de temps, car pas mal de boulot sur ma voiture.
A+
Pour changer un peu....voici une version par notre maître Bigonoff, pour écrire en mémoire flash, un peu de code ASM, comprends rien en C
Code : Tout sélectionner
; initialisations
; ---------------
movlw UPPER(flash_add-1) ; charger bits 15 à 21 de l’adresse
movwf TBLPTRU ; dans pointeur UPPER
movlw HIGH(flash_add-1) ; charger bits 8 à 14 de l’adresse - 1
movwf TBLPTRH ; dans pointeur HIGH
movlw LOW(flash_add-1) ; charger bits 0 à 7 de l’adresse - 1
movwf TBLPTRL ; dans pointeur LOW
movlw .8 ; 8 octets à écrire
movwf cmpt ; dans compteur
lfsr FSR0,oct_ram ; adresse des octets en RAM
; écriture dans le buffer
; -----------------------
loop
movff POSTINC0,TABLAT ; copier octet dans registre de transfert
tblwt+* ; pointer sur suivant, puis écrire l’octet dans buffer
decfsz cmpt ; décrémenter compteur d’octets
bra loop ; pas dernier, suivant
; séquence d’écriture
; --------------------
bsf EECON1,EEPGD ; pointer sur la mémoire flash
bcf EECON1,CFGS ; accès autorisé à la mémoire flash
bsf EECON1,WREN ; écritures autorisées
STOPINT ; Macro interdire les interruptions
movlw 0x55 ; séquence imposée
movwf EECON2
movlw 0xAA
movwf EECON2
bsf EECON1,WR ; lancer l’effacement (arrêt du PIC)
nop ; instruction ignorée à la remise en marche
bcf EECON1,WREN ; réinterdire écriture (sécurité)
STARTINT ; Macro remettre les interruptions si nécessaire
C'est vraiment être Anti-ASM pour ne pas prendre les exemples qui existe
paulfjujo a écrit :Source du message attendons la version de Temps X avec lecture de fichier wav
Je ne fais pas la même chose que toi, moi j’envoie des octets par rs232, puis le pic les lient, après c'est vrai que ça peut être intéressant de stocker un extrait de chanson d'un temps de 10 à 15 secondes en mémoire flash, ou des données comme une eeprom le ferais.
Je vais voir par la suite pour stockage des données en mémoire flash, mais pour l'instant je n'ai pas tellement de temps, car pas mal de boulot sur ma voiture.
A+
Lecture d'un son avec Pic
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
avec WAV "tout nu tou bronzé..." reparti en 4 tables de 32768 bytes
impossible de declarer la table en 1 seule ,sinon
exemple:
//unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00
///packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
//main.c:4281:: error: (240) too many initializers
sinon, OK , en 4 fois !
il y a donc bien des limitations dues à XC8 et sa configuration ...
avec WAV "tout nu tou bronzé..." reparti en 4 tables de 32768 bytes
impossible de declarer la table en 1 seule ,sinon
exemple:
//unknown attribute "USERIDPROG" in chipinfo file "C:/Program Files/Microchip/MPLABX/v6.00
///packs/Microchip/PIC18F-K_DFP/1.5.114/xc8\pic\dat\ini\18f27k42.ini" at line 6424
//main.c:4281:: error: (240) too many initializers
sinon, OK , en 4 fois !
il y a donc bien des limitations dues à XC8 et sa configuration ...
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Lecture d'un son avec Pic
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 122 invités