Bonsoir
Pour faire tres simple , j'ai un probleme, ou plutot CCS a un probleme; Je programme un PIC12HV615 , jusque la tout va bien.
Le truc c'est que j'ai du indiquer l'adresse des registres CCPR1L et CCP1CON pour que le mode PWM fonctionne. Et oui, il y aurait apparemment un problème sur CCS qui fait que lors de l'appel de la fonction "setup_CCP1 (CCP_PWM)" ca ne fonctionne pas.(L'adresse ne serait pas bonne...)
Le programme suivant fonctionne très bien comme je le veux (Ce n'est qu'un morceau de code) c'est a dire que le rapport cyclique va de 0 a 35% de rapport cyclique puis recommence éternellement. Mais lorsque j’enlève la ligne en rouge ( Qui pourtant n'est appelée nulle part dans le programme) ; Et bien le programme ne fonctionne plus!
Je pense que c'est encore du a une mauvaise adresse, que le compilateur commence a mettre les variables la ou il ne faut pas mais comment en être sûr? Et surtout comment connaitre l'adresse exacte ou il doit commencer et comment lui indiquer?
Parce que je ne sais pas ou est la variable "rcycl" dans le PIC mais je parie quelle est pas au bon endroit
Enfin, c'est mon hypothèse, si quelqu'un en a d'autre je me ferais un plaisir de le lire
Merci beaucoup pour la participation
Code:#include <12HV615.h> #fuses INTRC_IO,NOWDT,PUT,MCLR,NOPROTECT,IOSC8 #use delay(clock=8000000) #byte CCPR1L = 0x13 #byte CCP1CON = 0x15 int rcycl; int i = 0; void main () { set_tris_a (0b00000000); setup_adc_ports (ADC_OFF); CCP1CON = CCP_PWM; setup_timer_2 (T2_DIV_BY_16,255,1); while (TRUE) { //*********Allumage*************** for (i=0;i<85;i++) { CCPR1L = i; delay_ms (200); } } }
-----