Цитата(ILYAUL @ Jan 17 2014, 15:49)

Тут у всех английский родной язык. Вы попробуйте по-русски написать , что Вы хотели этим сказать применительно к коду TC. Или просто поболтать вышли.
Я извиняюсь, невнимательно просмотрел код.
В AVR Studio симуляторе этот код правильно работает.
CODE
#include <avr\io.h>
#include <avr\interrupt.h>
#define _200us 182
#define _12ms 10909
#define DIR_1 0
#define DIR_2 1
#define STROB PC2
#define D1 PC3
void initia(void);
unsigned char answer[4];
unsigned short a;
unsigned short main(void)
{
cli();
initia();
sei();
a = 0;
while (1) {
a++;
}
return 0;
}
void initia(void)
{
DDRC |= 1<<DDC0 | 1<<DDC1 | 1<<DDC2 | 1<<DDC3 | 1<<DDC4;
PORTC |= 1<<PC3;
PORTC &= ~(1<<STROB);
PORTC |= 1<<D1;
DDRD &= ~(1<<DDD0 | 1<<DDD3);
DDRD |= 1<<DDD1 | 1<<DDD2;
TIMSK1 |= 1<<OCIE1A | 1<<OCIE1B;
OCR1A = _200us;
OCR1B = _12ms;
TCCR1B |= 1<<CS11;
UBRR0 = 7;
UCSR0B |= 1<<RXEN0 | 1<<RXCIE0 | 1<<TXEN0;
}
ISR(TIMER1_COMPB_vect)
{
answer[0] = TCNT1L;
answer[1] = TCNT1H;
PORTC &= ~(1<<STROB);
PORTC |= 1<<D1;
TCNT1H = 0;
TCNT1L = 0;
}
Сообщение отредактировал IgorKossak - Jan 19 2014, 15:59
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!