bonjour,
pour la récupération d'une donnée infra-rouge par télécommande j'ai fais ce petit prog
j'ai visionné la variable "IR(16bit) " au PORTD par:Code:for(x=0;x<16;x++) { if(tram==0) { ir >>= 1; ir |= 0x8000; Delay_us(1000); continue; } else if(tram==1) { ir >>= 1; Delay_us(800); continue; }}
j'ai enregistrer les valeurs de chaque touche (binaire) suivie d'une conversion Hexa dans un doc exel.Code:for(y=1;y<3;y++) { cmd = ir ; PORTD = cmd ; delay_ms(1000); ir = ir>>=8; }
maintenant il me reste qu'a tester la variable IR s'elle est identique avec l'un des codes des touche.
par exp la touche1=0xF1F8 :
cette fois je voulais pas visionné le code touche, je voulais quand j'appuis sur une telle touche le pic exécute une action précise. en comparant la variable avec les codes touches. mais quand je faisais le teste le pic ne fait aucune action même si la valeur d IR et identique avec c'elle du code touche. voici l prog du teste :Code:Si ir==0xF1F8 ===> PORTD=0xF8; puis PORTD= 0xF1; // n'es pas?
Code:if(ir==0xD33F){ PORTD = 2;} //2 if(ir==0xF997){ PORTD = 0b00000100;} //3 if(ir==0x2CDF){ PORTD = 0b00001000;} //4 if(ir==0xF9A7){ PORTD = 0b00010000;} //5 if(ir==0xF9FF){ PORTD = 0b00100000;} //6 if(ir==0xA657){ PORTD = 0b01000000;} //7 if(ir==0xF35F){ PORTD = 0b10000000;} //8
des idées ?
-----