Bonjour à tous,
Je suis en dernière année de technologie de l'informatique et pour mon travail de fin d'étude je réalise un montage s'approchant d'une boîte à rythme(Fonctionnement basique).
Je bloque sur la sortie PWM de mon PIC 16f887, j'ai l'impression de ne pas vraiment avoir saisi comment la configurer. J'ai déjà consulté je ne sais combien de forum, site, et autres sources d'informations mais sans trouver de réponse.
J'ai donc mon son wav qui arrive de mon EEPROM via I²C sur ma sortie PWM . Sur l'oscillo elle ressemble bien à tout ce que j'ai pu voir jusqu'ici mais là où est le vrai problème c'est que je n'arrive pas à avoir un signal qui ressemble à du son.
Après ma sortie PWM j'ai mis un filtre RC (R=3.9k et C 0.1µF) qui ne m'a pas l'air d'être avec les bonnes valeurs.
Mon code(prototype) est le suivant:
Code:void InitPWM() { C1ON_bit = 0; // Disable comparators C2ON_bit = 0; PR2=0x3F; //ici c'est un test je ne suis pas sur du tout PORTA = 255; TRISA = 255; // configure PORTA pins as input PORTB = 0; // set PORTB to 0 TRISB = 0; // designate PORTB pins as output PORTC = 0; // set PORTC to 0 TRISC = 0; // designate PORTC pins as output PWM1_Init(78120); INTCON= 0; } void playSd(){ unsigned int add=0x01; initPWM(); PWM1_Start(); soft_I2C_Start(); soft_I2C_Write(0xA0); soft_I2C_Write(add>>8); soft_I2C_Write(add); soft_I2C_Start(); soft_I2C_Write(0xA1); while(Soft_I2C_Read(1)!=0xFF) { PWM1_Set_Duty(Soft_I2C_Read(1)); Delay_ms(1); } soft_I2C_Stop(); PWM1_Stop(); }
J'avoue aussi ne pas avoir totalement compris les différentes valeurs à ajustées.
Je travail sous MICKROC et ISIS Proteus et je n'ai pas de header files tout le code qui est exécuté se trouve dans le post.
Merci d'avance à vous!
-----