прошу прощения за созданный топ, таких тем в ветке много все просмотрел,но опять запутался:(
Делаю сигнализацию ИК.
Идея такая: 3 канала посылки кода в одну сторону, и нужно считать 3 разных кода.Потом если прервалось, т.е. кто то прошел то включить нагрузку.
Пошарив по форуму я нашел кучу нужной информации, смастерил код, для передачи. TSOP видит и реагирует на посылки всех 1, 36Кгц вроде у меня
но вот с посылкой правильной команды и приема ее пока проблемы:(
Посылаю чисто 1,
МК- мега16
Код: Выделить всё
//настройки для таймера:
TCCR0=0x01; //считать каждый первый импульс
TCNT0=0x00;
OCR0=0x1B; //сравнивать счетный регистр с регистром сравнения
while (1)
{
while(k<28){
PORTA.1++; // [color=red][b][size=14]как вот тут прописать команду? допустим 10101011[/size][/b][/color]
while(!(TIFR&0x02)); //флаг совпадения значения счетного
TIFR=0x02; //очистим флаг
TCNT0=0x00; //очистим счетный регистр
k++; }
k=0;
};
А вот с приемом требуется Ваша помощь:
я пытаюсь вот так принять:
где RC5_buffer я храню текущее состояние порта
Код: Выделить всё
char RC5_buffer[29],i;
for (i=0; i<28; i++){
RC5_buffer [i] = !PIND.2;
};Пожалуйста подскажите..., я уже все обычскал.. кучу примеров посмотрел на тини, но не получается,уже месяц мучаюсь:(


