Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Почему не работает код с прерываниями

Непрочитано 02.09.2011, 16:29  
Archer07
Прописка
 
Регистрация: 25.03.2009
Сообщений: 137
Сказал спасибо: 22
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Archer07 на пути к лучшему
По умолчанию Почему не работает код с прерываниями

Код:
void main(void)
{
	 USARTinit(MYUBRR);

	 TIMSK=(1‹‹TOIE0)|(1‹‹TOIE1); // разрешаем прерывания от Timer0 и Timer1
	 TCNT1H=0;
	 TCNT1L=0;
	 TCNT0=0;
	 
	 TCCR0=0b00000100;  // запускаем Timer0 с предделителем 1:256
	 TCCR1B=0b00000111; // внешний сигнал T1 по фронту
	 
	 sei();
	 
    while(1);

ISR(TIM0_OVF_vect)
{ 
	sendChar(0xAA);			
} 

}
В терминале ничего нет, как будто прерывания и не происходят.
Может кто укажет, где тут не правильно.
Реклама:
Archer07 вне форума  
Непрочитано 02.09.2011, 17:05  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

Какой контроллер? TCCR 2 штуки обычно
niXto вне форума  
Непрочитано 02.09.2011, 17:09  
Archer07
Прописка
 
Регистрация: 25.03.2009
Сообщений: 137
Сказал спасибо: 22
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Archer07 на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

в протеусе нет at90usb162, поэтому симулирую atmega16
один 8 битный, другой 16 битный.
Archer07 вне форума  
Непрочитано 02.09.2011, 17:42  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,458
Сказал спасибо: 3,227
Сказали Спасибо 3,511 раз(а) в 2,392 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

1. Может это передача через USART или его инициализация с ошибкой?
2. "Моргание светодиодиком" вставить после "sendChar(0xAA)".
ForcePoint вне форума  
Непрочитано 02.09.2011, 17:49  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

А обработку в теле main можно писать?
Программа отсюда
while(1);
не выйдет.
baiderin вне форума  
Непрочитано 02.09.2011, 19:31  
Archer07
Прописка
 
Регистрация: 25.03.2009
Сообщений: 137
Сказал спасибо: 22
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
Archer07 на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

baiderin, из while(1); мне и не нужно чтобы выходил,
пусть прерывания обрабатывает нормально, и это все.
USART функции проверил, они рабочие.

TIMSK это один регистр в одних контроллерах, но в некоторых есть и
TIMSK0, TIMSK1 или я не прав?
Archer07 вне форума  
Непрочитано 02.09.2011, 20:36  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

Сообщение от Archer07 Посмотреть сообщение
в протеусе нет at90usb162, поэтому симулирую atmega16
один 8 битный, другой 16 битный.
В настройках проекта Протеуса хоть указана мега16?
niXto вне форума  
Непрочитано 02.09.2011, 21:16  
nonamedov
Почётный гражданин KAZUS.RUN
 
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

Сообщение от Archer07 Посмотреть сообщение
void main(void)
А что main уже void?! Можно еще сузить круг поиска, запретив прерывания Т1.
А если серьезно, что пошаговую отладку сложно сделать?! Все ведь уже знают, что у Протеуса бывают заморочки!

Последний раз редактировалось nonamedov; 03.09.2011 в 04:12.
nonamedov вне форума  
Непрочитано 03.09.2011, 10:45  
heady69
Прописка
 
Регистрация: 25.09.2009
Адрес: Ivanovo
Сообщений: 156
Сказал спасибо: 3
Сказали Спасибо 67 раз(а) в 60 сообщении(ях)
heady69 на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

Сообщение от Archer07 Посмотреть сообщение
в протеусе нет at90usb162, поэтому симулирую atmega16
один 8 битный, другой 16 битный.
Завязывай со шпротеусом. Лучше в дебаггере AVRStudio,а еще лучше в IAR там можно и "СИкать" и отлаживать в одном флаконе.

Последний раз редактировалось heady69; 03.09.2011 в 10:50.
heady69 вне форума  
Непрочитано 03.09.2011, 14:41  
ut1wpr
Почётный гражданин KAZUS.RUN
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,613
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Почему не работает код с прерываниями

Сообщение от nonamedov Посмотреть сообщение
А что main уже void?!
А кто сказал, что main() обязан что-то возвращать?
ut1wpr вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть схема, имеются простые вопросы: почему так, а не этак? already_over Электроника - это просто 4 17.11.2010 22:27
MPLAB IDE и HI-TECH 18 s-4ern Микроконтроллеры, АЦП, память и т.д 16 17.09.2009 14:06
преобразование позиции бита в код Beduin Микроконтроллеры, АЦП, память и т.д 26 29.06.2007 19:05
PROTEUS не работает crystall Proteus 1 21.11.2006 00:27


Часовой пояс GMT +4, время: 03:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.