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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Ответ
Опции темы
Непрочитано 21.11.2022, 13:23   #1
pashamem7894
Частый гость
 
Регистрация: 08.11.2022
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pashamem7894 на пути к лучшему
По умолчанию Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

Само задание звучит следующим образом: "Разобраться с поддерживаемыми прерываниями. Реализовать 3 обработчика прерывания". У меня микроконтроллер Atmega8. В интернете искал информацию, но столкнулся с некоторой проблемой, нет толком объяснений для нужных мне прерываний, даже в datasheet atmega8 - https://static.chipdip.ru/lib/059/DOC000059782.pdf (46 страница). Мои прерывания - №15, №16, №17. Но находил я информацию по реализации лишь на прерывание по сигналу на INT0. Мне нужно создать программу в ATML studio, забилдить её и запустить в proteus'е с нужной схемой. Вот только даже на этапе поиска какого-то кода по прерываниям, захожу в тупик некоторый. Можете подсказать какие-нибудь книжки, где есть данная инфа? Или подсказать, как работать с данными прерываниями.
Скриншоты прерываний на русском сегменте(№1):

и в datasheet atmega8(№2):
Реклама:
pashamem7894 вне форума   Ответить с цитированием
Непрочитано 21.11.2022, 17:15   #2
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,245
Сказал спасибо: 11,163
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

начать с документации и сопутствующей информации у производителя https://ww1.microchip.com/downloads/..._datasheet.pdf
Там достаточно информации для Вашего вопроса
Дополнительно ветка у Arduino https://create.arduino.cc/projecthub...ino-ide-90c2ad
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума   Ответить с цитированием
Непрочитано 22.11.2022, 12:44   #3
pashamem7894
Частый гость
 
Регистрация: 08.11.2022
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pashamem7894 на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

Сообщение от mike-y-k Посмотреть сообщение
начать с документации и сопутствующей информации у производителя https://ww1.microchip.com/downloads/..._datasheet.pdf
Там достаточно информации для Вашего вопроса
Дополнительно ветка у Arduino https://create.arduino.cc/projecthub...ino-ide-90c2ad
Ну в datasheet ничего почти нет на нужные мне прерывания, я по поиску в доке искал. Вот второй мб пригодится, спасибо
pashamem7894 вне форума   Ответить с цитированием
Непрочитано 22.11.2022, 13:04   #4
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,484
Сказал спасибо: 177
Сказали Спасибо 3,140 раз(а) в 2,027 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

не понял в чем проблема?
какая документация нужна на прерывание?
прерывание это кусок программы, на который переходит процессор при срабатывании прерывания.
перед этим в меине ставишь флаг разрешения прерывания а то оно не сработает.
на ассемблере просто в нужном векторе пишешь - jump на твой кусок программы и там пишешь свою программу.
в начале программы не забываем снять флаг прерывания а то оно там вечно будет крутиться.
__________________
кагмаподэ магмаподэ
индюк вне форума   Ответить с цитированием
Непрочитано 22.11.2022, 15:34   #5
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,950
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

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

А "в чем проблема" - я так понимаю - в том, что ТС понятия не имеет, что такое АЦП, EEPROM и компаратор, и с чем их едят. И беда в том, что вот так сходу это не объяснить. Это надо учить... А это время.

PS да и первая таблица прерываний у него странная какая-то.
__________________
[ жизнь приятна и красива, если выпить литр пива ]

Последний раз редактировалось nml; 22.11.2022 в 15:46.
nml вне форума   Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо nml за это сообщение:
ForcePoint (25.11.2022), mike-y-k (22.11.2022)
Непрочитано 22.11.2022, 16:19   #6
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,245
Сказал спасибо: 11,163
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

pashamem7894, а посмотреть у производителя страницу самого продукта?
https://www.microchip.com/en-us/product/ATmega8
Там и appnote, и errata, и developer/evaluation, и примеры кода, и сообщество,…
Некоторые документы могут присутствовать у других МК семейства или для всего семейства целиком…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума   Ответить с цитированием
Непрочитано 22.11.2022, 17:23   #7
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,423
Сказали Спасибо 894 раз(а) в 581 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

А ТС в курсе, как вообще с прерываниями работают?
Например INT0 ?
baiderin вне форума   Ответить с цитированием
Непрочитано 24.11.2022, 23:41   #8
pashamem7894
Частый гость
 
Регистрация: 08.11.2022
Сообщений: 22
Сказал спасибо: 5
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pashamem7894 на пути к лучшему
По умолчанию

индюк
Проблема в том, что я почекал множество сайтов с информацией о прерываниях, годного ничего не нашёл. Да и в целом с прерываниями не работал, как таковыми, инфу не мог найти

nml
Есть такое, я понятия не имею про АЦП, EEPROM и пр. А таблицу такую я взял с русскогоязычного сайта с объяснениями прерываний ATMEGA8

mike-y-k
Спасибо за полезную ссылку, попробую в этом разобраться

Последний раз редактировалось mike-y-k; 25.11.2022 в 00:24. Причина: 6.6, 7.15
pashamem7894 вне форума   Ответить с цитированием
Непрочитано 25.11.2022, 12:44   #9
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,725
Сказал спасибо: 2,423
Сказали Спасибо 894 раз(а) в 581 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

Белов А.В. Микроконтроллеры AVR. От азов ...
например
baiderin вне форума   Ответить с цитированием
Непрочитано 25.11.2022, 13:29   #10
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,856
Сказал спасибо: 2,945
Сказали Спасибо 3,135 раз(а) в 2,125 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Реализовать 3 обработчика прерывания ATmega8(0X00E, 0X00F, 0X010)

Сообщение от nml Посмотреть сообщение
В АВРках флаг снимается аппаратно, при обработке процедуры прерывания.
Не все. ЕМНИП, флаг прерывания TWI (I2C) надо сбрасывать программно. По крайней мере - в режиме ведомого.
__________________
Экзорцист 40-го уровня.
ForcePoint вне форума   Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо ForcePoint за это сообщение:
akegor (25.11.2022), mike-y-k (25.11.2022), nml (25.11.2022)
Ответ

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F4 discovery не срабатывают прерывания по I2C Kopranych ARM 10 29.11.2016 20:56
AT89C5131 прием и передача данных по USB rihkov AVR 14 15.11.2012 08:16
Вход в прерывания для PIC микроконтроллеров dimmich Микроконтроллеры, АЦП, память и т.д 4 06.12.2009 17:17


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


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