Цитата(ps1x @ Oct 17 2006, 00:28)

Цитата(singlskv @ Oct 17 2006, 00:06)

Я все понял, Вы хотите управлять АВР в кастрюле с помощью пульта SONY

издеваетесь... а по делу можете что нибудь сказать?
шучу
По делу:
Цитата(ps1x @ Oct 16 2006, 23:48)

Подключен приемник к ноге INT0 и ноге PORTA.6 МК TINY26.
1) Ждем прерывания
2) Пришло прерывание - запрещаем прерывания и вызываем функцию GetCode();
Функция GetCode();
1) Выполняем цикл
Код
while (PORTA.6) {
i++;
delay_us(10);
};
2) Затем смотрим какой длины была задержка на основании подсчитанного i.
Код
if (21> i) return (0xFF);
if (30 < i) return (0xFF);
3) Если задержка не соответствует временному интервалу, значит ошибка и возвращаем 0xFF.
ИМХО, какой-то довольно кривой способ определения задержки, цикл while() {...} с задержкой
delay_us() внутри ни к чему хорошему Вас не приведет, особенно на C.
Нужно пользоваться таймерами.
P.S. Здесь недавно обсуждался прием RC5, так вот некоторые приемы можно перенести и для SIRC