bonjour
je suis un débutant avec le micro c et l'utilisation du pic
je viens de rédiger un programme pour décoder une trame RC5 et utiliser les 6 derniers bits de commande.voila le programme
void interrupt()
{
delay_us(10668); //sauter 6bits
//delay_us(7112);
int cmd=0;
if(PORTB.F0=1)
/*cmd=cmd+0b00100000;
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00010000;*/
delay_us(1778);
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00001000;
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00000100;
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00000100;
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00000010;
delay_us(1778);
if(PORTB.F0=1)
cmd=cmd+0b00000001;
delay_us(1778);
PORTC=cmd;
INTCON.F0=0.
}
void main()
{
int nbit=0;
int cmd=0;
TRISB = 0xFF;
TRISC= 0x00;
PORTC = 0x00;
delay_ms(1000);
PORTC = 0xFF;
INTCON=0b10001000;
do
{
if(PORTB.F0=1)
{
delay_us(1778);
nbit++;
}
else nbit=0;
} while(nbit<2);
nbit=0;
delay_us(444);
while(1);
}
}
-----