bonjour tout le monde
j’espère que quelqu'un pourra m'aider à résoudre mon problème.
mon projet : pré-ampli hifi
fonctions principales
- sélection d'une entrée parmi 8, via BP en façade ou via la télécommande
- contrôle du volume (-95 à +31Db), via encodeur rotatif en façade ou via la télécommande
- muting, via la télécommande
- affichage de la source active et du volume sur LCD 2x16(pour l'instant...)
fonctions supplémentaires, via un menu ''Setup'' :
- réglage du volume de départ (+/-30dB)
- réglage de l'offcet (+/-15dB) de chaque source
- réglage du nom de la source, parmi 20 choix
- réglage du rétro éclairage
j'utilise un PIC 18LF452 qui gère toute les fonctions, pour le contrôle de volume j'utilise un PGA2311 via une liaison SPI.
toutes mes fonctions fonctionnent correctement, sauf le contrôle de volume.
je m'explique lorsque je fais une variation de volume il y a parfois un décrochage soit de la voie de gauche soit de la voie de droite.
c'est à dire, par exemple lors d'une augmentation de volume je me retrouve avec un coté au volume ''correcte'' et l'autre à zéro ou l'inverse et ceci aléatoirement sur toute la plage de réglage.
je ne comprend pas d’où cela peu venir...
dans ma procédure init j'ai :
et au moment de faire le réglage de mon volume :Code:TRISC := %11000000; // configurées en sorties PORTC := %00000000; // initialisation de la liaison serie SPI Chip_Select := 1; Chip_Select_Direction := 0; SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV64, _SPI_DATA_SAMPLE_END, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH);
est ce qu'il y a quelque chose qui ne va pas...Code:Chip_Select := 0; SPICranD := SPICran; SPICranG := SPICran; SPI1_Write (SPICranD); SPI1_Write (SPICranG); Chip_Select := 1;
je ne comprends plus...
j'allais oublie, je programme en Pascal, l'horloge du PIC est un quartz à 4Mhz.
voila je pense ne rien avoir oublié.
merci pour vos lumière qui l’aiderons certainement.
cordialement Franck
-----