MiklPolikov 0 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба Коллеги, подскажите, почему у меня не происходит прерывание от TC0 ? SREG |= (1<<7); //0бщее разрешеие прерываний; OCR0=100; // досчитываем до 100 TIMSK|=(1<<OCIE0); // compare interrupt enable TCCR0|=(1<<CS02)|(1<<CS00) //делитель 1024 //прерывание от таймера 0 ISR(TIMER0_COMPA_vect) { return; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kool 0 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба адрес вектора TIMER0_COMPA_vect правильно указан? У таймера 0 вроде нет модулей сравнения А и В., он только один Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба адрес вектора TIMER0_COMPA_vect правильно указан? У таймера 0 вроде нет модулей сравнения А и В., он только один Спасибо огромное !!! Сам бы не заметил . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба TCCR0|=(1<<CS02)|(1<<CS00) //делитель 1024А что было в других битах этого регистра вас не интересует? А если он был настроен на какой-то другой режим? Почему бы не прописать явно все нужные биты присвоением нового значения, а не накладыванием маски? Это и надежнее и на целое слово короче и на такт быстрее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба А что было в других битах этого регистра вас не интересует? А если он был настроен на какой-то другой режим? Почему бы не прописать явно все нужные биты присвоением нового значения, а не накладыванием маски? Это и надежнее и на целое слово короче и на такт быстрее. Там же 0 после запуска. Вы советуете вообще во все регистры которые есть что-то писать в начале программы ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба Там же 0 после запуска. Вы советуете вообще во все регистры которые есть что-то писать в начале программы ? Все регистры писать - это уже праноя. Хотя, у меня программа получает управление после загрузчика и чтобы не задумываться - что там наделал загрузчик я прописываю все основные регистры (например, достаточно запретить UART если он не используется, прописывать скорость не нужно). Но зачем делать ИЛИ, если явное присваивание и короче и быстрее в смысле результирующего кода? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 25 ноября, 2010 Опубликовано 25 ноября, 2010 · Жалоба Но зачем делать ИЛИ, если явное присваивание и короче и быстрее в смысле результирующего кода? Это исключительно дело вкуса. Если включена минимальная оптимизация. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться