Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: AVR. Интересные моменты.  (Прочитано 11298 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« : 26-07-2011 06:22 » 

Читаю даташит на "ATmega164A/PA/324A/PA/644A/PA/1284/P". В разделе "External Interrupts" в самом начале:

Цитата
The External Interrupts are triggered by the INT2:0 pin or any of the PCINT31:0 pins. Observe
that, if enabled, the interrupts will trigger even if the INT2:0 or PCINT31:0 pins are configured as
outputs. This feature provides a way of generating a software interrupt.


Интересно, для чего может применяться возможность программной генерации аппаратного прерывания? Ведь вызов функции проще. С целью тестирования и самотестирования?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 26-07-2011 06:32 » 

Можно для тестирования, имитировать внешние сигналы. Скажем, в рабочей конструкции это входы, а на время тестирования перепрограммировать их как выходы и имитировать события. Не нужен будет внешний стенд.

Еще вариант - в случае навороченной программы с множеством потоков один из потоков ворочает выводами, а другой по прерываниям отслеживает изменения их состояний. Потоки полностью независимы.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 26-07-2011 06:41 » 

Например, счетчик бит на выход...
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #3 : 26-07-2011 08:03 » 

У меня есть некоторое опасение: включение выходного драйвера может чем-то навредить работе внешней цепи, подключенной к данной ноге. Например, если на нее подается входной сигнал, соединенный и с другими входами схемы.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 26-07-2011 08:09 » 

Конечно, конструкция должна делаться с учетом такой возможности. Например, плата контроллера вынимается из корзины и устанавливается на испытательный стенд, где коллизий не будет. Или же опция перевода внешней логики каким-то сигналом в третье состояние в тестовом режиме. Иначе можно и внешнюю цепь спалить, и сам контроллер с таким же успехом.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Online Online
Пол: Мужской

WWW
« Ответ #5 : 26-07-2011 08:16 » new

В целом и в общем я удовлетворен, что думаю аналогично и ничего не позабыл.


Слав, что ты имеешь ввиду?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines