[an error occurred while processing this directive]
|
используя наименьшее количестко кода, использовать кейс неособо интересно. Тоесть можно так, но ведь наверное можно и короче ???
for(i=2; i<6; i++)
{
if(bit_is_clear(PIND, i))
{
char c;
for(c = 0; c<5; c++)
{
wait_1ms(40); // защита от дребезга
if(bit_is_set(PIND, i))
break;
}
if(c == 5) // все 5 раз шлейф был замкнут на землю
{
if(i == 4) // двери - ждем 5 с
{
wait_1s(5);
if(bit_is_set(PIND, 6)) // если за это время выключили охрану
continue; // ничего не посылаем
}
SendSMS(i);
continue;
}
}
}
E-mail: info@telesys.ru