main.zip ( 1.46 килобайт )
Кол-во скачиваний: 124Смотрите в приложении. Или часть кода тут:
#define IR_LED PORTB.0
volatile bit button_pressed1, button_pressed2, button_pressed3, button_pressed4; //флаг
void press_key (void)
{ char i;
for(i=0;i<=19;i++)//пачка из 30 импульсов
{
delay_us(13);// почти меандр 38кГц
IR_LED=1;
delay_us(13);
IR_LED=0;
};
delay_us(260);//та самая пауза,
};
Дальше в main:
if (PINB.1 == 0 && button_pressed1 == 0) //Если нажата кнопка 1
{
char k;
for (k=0;k<5;k++)
{
press_key();
};
button_pressed1 = 1;
}
...
if (PINB.4 == 0 && button_pressed4 == 0) //Если нажата кнопка 4
{
char k;
for (k=0;k<20;k++)
{
press_key();
};
button_pressed4 = 1;
}
if (PINB.4 == 1) button_pressed4 = 0; //сбрасываем флаг
Получается я передаю 30 импульсов а за ними пауза.