реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Atmega16 прерывание от TC0, Почему не происходит ?
MiklPolikov
сообщение Nov 25 2010, 05:05
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Коллеги, подскажите, почему у меня не происходит прерывание от 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;
}


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Nov 25 2010, 05:28
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



адрес вектора TIMER0_COMPA_vect правильно указан? У таймера 0 вроде нет модулей сравнения А и В., он только один
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Nov 25 2010, 05:36
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Александр Куличок @ Nov 25 2010, 08:28) *
адрес вектора TIMER0_COMPA_vect правильно указан? У таймера 0 вроде нет модулей сравнения А и В., он только один


Спасибо огромное !!! Сам бы не заметил .


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 25 2010, 11:30
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (MiklPolikov @ Nov 25 2010, 07:05) *
TCCR0|=(1<<CS02)|(1<<CS00) //делитель 1024
А что было в других битах этого регистра вас не интересует? А если он был настроен на какой-то другой режим? Почему бы не прописать явно все нужные биты присвоением нового значения, а не накладыванием маски? Это и надежнее и на целое слово короче и на такт быстрее.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Nov 25 2010, 11:45
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Сергей Борщ @ Nov 25 2010, 14:30) *
А что было в других битах этого регистра вас не интересует? А если он был настроен на какой-то другой режим? Почему бы не прописать явно все нужные биты присвоением нового значения, а не накладыванием маски? Это и надежнее и на целое слово короче и на такт быстрее.


Там же 0 после запуска.
Вы советуете вообще во все регистры которые есть что-то писать в начале программы ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 25 2010, 12:34
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (MiklPolikov @ Nov 25 2010, 13:45) *
Там же 0 после запуска.
Вы советуете вообще во все регистры которые есть что-то писать в начале программы ?
Все регистры писать - это уже праноя. Хотя, у меня программа получает управление после загрузчика и чтобы не задумываться - что там наделал загрузчик я прописываю все основные регистры (например, достаточно запретить UART если он не используется, прописывать скорость не нужно).
Но зачем делать ИЛИ, если явное присваивание и короче и быстрее в смысле результирующего кода?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Nov 25 2010, 12:48
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Сергей Борщ @ Nov 25 2010, 15:34) *
Но зачем делать ИЛИ, если явное присваивание и короче и быстрее в смысле результирующего кода?



Это исключительно дело вкуса. Если включена минимальная оптимизация.


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 20:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.0152 секунд с 7
ELECTRONIX ©2004-2016