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

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

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

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

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

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

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

 
Опции темы
Непрочитано 28.11.2011, 16:22  
alvadep
Почётный гражданин KAZUS.RU
 
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
alvadep на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от kison Посмотреть сообщение
Ни то, ни другое. Учитесь сразу делать правильно
Ув. Kison, и какой обработчик, по Вашему мнению, нужен для прерывания (запрос на которое сбрасывается при переходе на вектор этого самого прерывания), например, для EXT_INT0, при условии, что это прерывание не используется (не разрешено) и переход может быть только случайным.
Чтобы не быть голословным приведите пример.
Реклама:
alvadep вне форума  
Непрочитано 28.11.2011, 16:45  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от alvadep Посмотреть сообщение
Чтобы не быть голословным приведите пример.
while(1){}; // ждем сброса от WDT
Это конечно тоже не панацея, но любой другой вариант еще хуже. Где гарантия, что заодно не взвелось еще пара флагов запроса на прерывание? Или - не сбросились необходимые? В смысле - взвелись/сбросились от помехи. Если просто выйдем то дальше может стать еще хуже. Если есть возможность - такие события хорошо еще и как то сохранять для истории. Выделив например место в еепром и увеличивая там содержимое. Этакий счетчик глюков. Потому как такой несанкционированный запрос может быть не только от помех - это может и ошибка в самой программе быть. Лог поможет в ее локализации. А ошибки, как считается, есть в любой программе Минималистские варианты типа мигалки светодиодом не в счет.
kison вне форума  
Непрочитано 28.11.2011, 17:08  
ALEKSEY188
Заблокирован
 
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
ALEKSEY188 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
И самое главное для себя, из ранее прочитанных постов, я выбираю способ вот такой:
cseg ; Начало кодового сегмента
.org 0x0000
rjmp RESET ; Обработка сброса
.org 0x0001
rjmp EXT_INT0 ; внешнее прерывание IRQ0
reti
.org 0x0002 ; rjmp EXT_INT1 ; внешнее прерывание IRQ1
reti
Я так делаю, конкретно для 8515:
.cseg
.org 0
rjmp RESET ; Прерывание по питанию
reti ;rjmp EXT_INT0 ; Внешние прерывание IRQ0
reti ;rjmp EXT_INT1 ; Внешние прерывание IRQ1
reti ;rjmp TIM1_CAPT ; Таймер 1 захват
reti ;rjmp TIM1_COMPA ; Совпадение таймер 1 A
reti ;rjmp TIM1_COMPB ; Совпадение таймер 1 B
reti ;rjmp TIM1_OVF ; Переполнение таймер 1
reti ;rjmp TIM0_OVF ; Переполнение таймер 0
reti ;rjmp SPI_STC ; Передача по SPI окончена
reti ;rjmp USART0_RXC ; Чтение окончено
reti ;rjmp USART0_DRE ; Регистр данных пуст
reti ;rjmp USART0_TXC ; Передача окончена
reti ;rjmp ANA_COMP ; Прерывание аналогового компаратора
reti ;rjmp EXT_INT2 ; Внешние прерывание по IRQ3
reti ;rjmp TIM0_COMP ; Совпадение таймер 0
reti ;rjmp EE_RDY ; EEPROM готова
reti ;rjmp SPM_RDY ;
RESET:

Удобно тем что удалил "reti ;" не нужно каждый раз писать.

Я бы посоветовал всегда делать шаблон для конкретного камня, таблицу векторов, инициализацию стека периферию, даже если что-то не используете, потом пригодится.
Насчет nop и reti, kison 100% прав, обработчик это правильно, по уму, но это как зарядка по утрам все знают, что она полезна, и те, кто делают и те, кто нет, при этом живут одинаково, болеют, умирают!!! По собственному опыту nop конечно это зло, всегда ставил reti, проблем небыло. Думаю для начинающего можно обойтись и без обработчиков, тратя время, но то с чем можете и не столкнутся, особенно если это радиолюбительские конструкции.
ALEKSEY188 вне форума  
Непрочитано 28.11.2011, 17:10  
ALEKSEY188
Заблокирован
 
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
ALEKSEY188 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от kison Посмотреть сообщение
while(1){}; // ждем сброса от WDT
Это конечно тоже не панацея, но любой другой вариант еще хуже. Где гарантия, что заодно не взвелось еще пара флагов запроса на прерывание? Или - не сбросились необходимые? В смысле - взвелись/сбросились от помехи. Если просто выйдем то дальше может стать еще хуже. Если есть возможность - такие события хорошо еще и как то сохранять для истории. Выделив например место в еепром и увеличивая там содержимое. Этакий счетчик глюков. Потому как такой несанкционированный запрос может быть не только от помех - это может и ошибка в самой программе быть. Лог поможет в ее локализации. А ошибки, как считается, есть в любой программе Минималистские варианты типа мигалки светодиодом не в счет.
Не сильно ли круто!!!
ALEKSEY188 вне форума  
Непрочитано 28.11.2011, 17:15  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от kison Посмотреть сообщение
while(1){}; // ждем сброса от WDT
Это конечно тоже не панацея, но любой другой вариант еще хуже.
Хуже "вЭчный цЫкл" уже ничего быть не может...
Сообщение от kison Посмотреть сообщение
Где гарантия, что заодно не взвелось еще пара флагов запроса на прерывание? Или - не сбросились необходимые? В смысле - взвелись/сбросились от помехи.
Вот-вот... Вачдог управляется программно, произошло его отключение... и "вЭчный цЫкл... Жесть!!!

2 ALL
Все эти вопросы, увы, не для начинающих... Они их только пугают... Годик назад уже терзали эту тему... Не всё там так просто... как кажется...
st_1 вне форума  
Непрочитано 28.11.2011, 17:20  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от ALEKSEY188 Посмотреть сообщение
Не сильно ли круто!!!
Нормально...
Если вачдог хардварно, а инициализация периферии полная... то... как один из простых вариантов...
А выходить неизвестно куда, пришёв неизвестно откуда - ВИЛЫ!!!
st_1 вне форума  
Непрочитано 28.11.2011, 17:30  
ALEKSEY188
Заблокирован
 
Регистрация: 14.04.2008
Адрес: Украина, совсем рядом от террористов!
Сообщений: 388
Сказал спасибо: 32
Сказали Спасибо 85 раз(а) в 62 сообщении(ях)
ALEKSEY188 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от st_1 Посмотреть сообщение
А выходить неизвестно куда, пришёв неизвестно откуда - ВИЛЫ!!
В этом случае обработчик, мертвому припарка, особенно если изделие уже у заказчика, за километров этак 500!
ALEKSEY188 вне форума  
Непрочитано 28.11.2011, 17:32  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от kison Посмотреть сообщение
ЗЫ. А что такое - клуджи?
Ничего обидного.
Не совсем оксфордское трактование. В системе электронной почты в теле письма есть много сопровождающей информации, которая для обычного читающего не видна, ибо спрятана. В некоторых почтовых клиентах есть возможность их читать и узнавать из них много нового о прохождении писем. В данном контексте, просто "подтекст, который можно увидеть, а можно и не увидеть - зависит от желания читающего".
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 28.11.2011, 17:46  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от ALEKSEY188 Посмотреть сообщение
В этом случае обработчик, мертвому припарка, особенно если изделие уже у заказчика, за километров этак 500!
Угу... аж сто пять раз...
Думать о устойчивости работы девайса нужно пока он на столе...
И если предъявлены повышенные требования к устойчивости, то и простыми методами не обойтись... т.е. и обработчик должен быть "умный", и на железе не экономить...
st_1 вне форума  
Непрочитано 28.11.2011, 18:24  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Вообще, раз уж речь идет в контексте АВР, то в компиляторах существуют методы обработки отсутствующих обработчиков. К примеру в avr-gcc (WinAVR) есть "еще один" вектор - EMPTY_INTERRUPT. Можно написать к нему обработчик. Этот обработчик будет подставлен для всех прерываний, которым не определили обработчик явно.

Сообщение от st_1 Посмотреть сообщение
Все эти вопросы, увы, не для начинающих... Они их только пугают...
Возможно. Но можно начать сразу делать правильно, пусть и не понимая причин. Понимание придет. А переучиваться не придется
kison вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему (PIC16F84A). Slava-martyn Микроконтроллеры, АЦП, память и т.д 11 09.09.2010 21:55
помогите начинающему по WinAVR umkamaks Микроконтроллеры, АЦП, память и т.д 4 05.05.2010 21:01
Помогите начинающему! kolira Микроконтроллеры, АЦП, память и т.д 6 30.01.2010 15:22
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Помогите начинающему!!!! sma-etu Микроконтроллеры, АЦП, память и т.д 2 13.12.2006 18:31


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot