Alkarax писал(а):Здравствуйте!
появилось желание сделать ик приемник и передатчик
Привет.
Прикол в том, что предыдущие пару страниц, я мучил народ тоже по поводу библиотечки обработки ИК канала.....
Решил свою смастерить, стандарта NEC, все уже работает, мелочи остались..... поделюсь если что.
А так по теме:
Alkarax писал(а):Не могли бы вы перевести данную програмку в вид попроще, например: TCCR1A = (1<<COM1A1) | (1<<COM1A0) | (1<<WGM11)
var = (1<<X) oзначает загрузку в var числа с установленным в 1 битом под номером X (X может быть от 0 до 7)
Например, выражение var = (1<<5)|(1<<7) - будет эквивалентно выражению var = 0b10100000.
В твоем случае выражение типа TCCR1A = (1<<COM1A1) | (1<<COM1A0) | (1<<WGM11) означает что в регистр TCCR1A будет загружено число с установленными битами COM1A1, СOM1A0, WGM11. Эти названия битов, где то задефайнены во включаемых библиотеках.
Alkarax писал(а):особенно интересую строчки типа: TIMSK |= (1<<TOIE0); как будет выглядеть весь байт целивом
Это выражение равнозначно TIMSK = TIMSK | (1<<TOIE0); т.е. установить (знак |) в регистре TIMSK бит с названием TOIE0, а остальные не трогать.
Alkarax писал(а):DDRB &= ~(1<<PB1);
Это выражение равнозначно TIMSK = TIMSK & ~(1<<PB1)
такая комбинация (& и ~) означает, что надо сбросить в регистре TIMSK бит с названием PB1, а остальные не трогать.....
Вообще то это описывается в любом пособии по Си, надо вникать, ато замучишся вопросы задавать, и других замучиш....

Тут если что почитай:
http://www.helloworld.ru/texts/comp/lang/c/c/dir.htmили тут:
http://lib.ru/MAN/DEMOS210/c.txt