РАДИОСХЕМЫ



СТАРЫЙ ФОРУМ

ФОРУМ НА ЭЛВО

РАДИОФОРУМЫ


СХЕМЫ И СТАТЬИ
  • БЛОГИ
  • НОВОЕ
  • СХЕМЫ
  • РАЗНОЕ
  • ТЕОРИЯ
  • ТЕЛЕВИДЕО
  • СВЕТОДИОД
  • МЕДТЕХНИКА
  • БЫТТЕХНИКА
  • ИЗМЕРИТЕЛИ
  • СПРАВОЧНИК
  • ТЕХНОЛОГИИ
  • РЕМОНТ СХЕМ
  • МОБИЛЬНИКИ
  • КОМПЬЮТЕРЫ
  • НАЧИНАЮЩИМ
  • ЗАРЯДКИ И АКБ
  • СИГНАЛИЗАЦИИ
  • АУДИОТЕХНИКА
  • АВТОВЕЛОМОТО
  • БЛОКИ ПИТАНИЯ
  • РАДИОПРИЁМНИКИ
  • МЕТАЛЛОИСКАТЕЛИ
  • МИКРОКОНТРОЛЛЕР
  • РАДИОПЕРЕДАТЧИКИ

  • Курс по ускорению работы Мозга на 100%


    • Страница 2 из 3
    • «
    • 1
    • 2
    • 3
    • »
    Архив - только для чтения
    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Энкодер на AVR (Описание как написать программу для энкодера)
    Энкодер на AVR
    Чт, 17.01.2013, 07:04 | Сообщение # 11        
    skateman
    аватар
      Постов: 2201   Друзья 
    Цитата (frenele)
    но при этом чрезмерно сильно будут вычислительные затраты

    вычислительные затраты в 3 ассемблерных команды это значительно?
    Чт, 17.01.2013, 20:39 | Сообщение # 12        
    frenele
    аватар
      Постов: 30   ОК 
    Цитата (skateman)
    вычислительные затраты в 3 ассемблерных команды это значительно?


    Дело не в количестве этих команд в подпрограмме обработки этого события, а периодичности вызова такой подпрограммы. Если эта подпрограмма будит вызываться периодически в цикле, а не по необходимости при использовании прерываний. То сам логически подумай когда лучше: периодически или по необходимости.
    Чт, 17.01.2013, 22:35 | Сообщение # 13        
    skateman
    аватар
      Постов: 2201   Друзья 
    Конечно же периодически. Я вед не секретарша-машинистка, чтоб как из пулемета долбить по кнопкам и мне абсолютно пофиг обработалось нажатие моментально или через 100мс. Есть наступление более важных событий, чем переключение какого-то пункта меню через нажатие кнопки. А зайдя в прерывание по выводу INT можно зависнуть там до момента отпускания кнопки и повесить все процессы.
    Пт, 18.01.2013, 00:49 | Сообщение # 14        
    frenele
    аватар
      Постов: 30   ОК 
    Цитата (skateman)
    Конечно же периодически. Я вед не секретарша-машинистка, чтоб как из пулемета долбить по кнопкам и мне абсолютно пофиг обработалось нажатие моментально или через 100мс. Есть наступление более важных событий, чем переключение какого-то пункта меню через нажатие кнопки. А зайдя в прерывание по выводу INT можно зависнуть там до момента отпускания кнопки и повесить все процессы.


    Ну ты дружок не прав однако. 100мс это много. Зависать программа не должна никак. Это просто исключёно. В обработчиках нет никаких программных задержек, что является результатом мгновенного выполнения обработчиков прерываний.
    Пт, 18.01.2013, 07:32 | Сообщение # 15        
    skateman
    аватар
      Постов: 2201   Друзья 
    Цитата (frenele)
    Ну ты дружок не прав однако

    1. Я тебе не дружок.
    2. При прерывании по INT ты будешь висеть в нем, пока не отпустишь кнопку.
    3. Нерациональное использование ресурсов - сразу 2 прерывания на событие и таймер T0 больше уже нигде не используешь.
    Пт, 18.01.2013, 20:35 | Сообщение # 16        
    frenele
    аватар
      Постов: 30   ОК 
    Цитата (skateman)
    При прерывании по INT ты будешь висеть в нем, пока не отпустишь кнопку.


    Ладно не кипятись.) Всё с кнопкой будет нормально. Я же писал, что обработчик будет вызываться по изменению состояния на пине. И если нажать на кнопку и не отпускать её то вызовется обработчик. Который быстренько выполнит своё дело и всё. А держишь ты или не держишь ему обработчику по барабану. Ему становится не по барабану когда ты именно нажимаешь на кнопку и только на это событие он реагирует.

    Добавлено (18.01.2013, 21:22)
    ---------------------------------------------

    Цитата (skateman)
    Нерациональное использование ресурсов - сразу 2 прерывания на событие и таймер T0 больше уже нигде не используешь.


    Ну надо сразу за ранние проектировать устройство так, чтобы периферийных модулей хватала. Если таймер используется не для временной диаграммы. То можно один таймер использовать для разных задач. В нужный момент просто перенастраиваешь тайме на другую функцию и всё, проблем нет.

    Добавлено (18.01.2013, 21:35)
    ---------------------------------------------
    если что-то не понятно то спрашивай. Расскажу поподробней.

    Пн, 21.01.2013, 07:50 | Сообщение # 17        
    skateman
    аватар
      Постов: 2201   Друзья 
    А если таймер в контроллере всего 1, например tyny13? ведь кроме кнопки через таймер ничего работать не сможет.

    Добавлено (21.01.2013, 08:50)
    ---------------------------------------------

    Цитата (frenele)
    В нужный момент просто перенастраиваешь тайме на другую функцию и всё

    зачем перенастраивать? можно сразу запустить несколько программных таймеров от одного аппаратного и каждый программный таймер (при небольших интервалах отсчета) привязать к определенной функции.
    Пн, 21.01.2013, 14:58 | Сообщение # 18        
    frenele
    аватар
      Постов: 30   ОК 
    Цитата (skateman)
    А если таймер в контроллере всего 1, например tyny13? ведь кроме кнопки через таймер ничего работать не сможет.


    Напомню, что речь идёт об энкодере. Опять же зачем себе усложнять задачу когда есть микроконтроллеры с более богатой архитектурой. Это же не дефицит.
    Пн, 21.01.2013, 15:02 | Сообщение # 19        
    skateman
    аватар
      Постов: 2201   Друзья 
    а если серийный девайс, то более дешевая железка неплохо даст выигрыш
    Пн, 21.01.2013, 15:16 | Сообщение # 20        
    frenele
    аватар
      Постов: 30   ОК 
    Дело в том, что этот пример для энкодера я переложил в программу для микроконтроллера с гибкой логики ПЛИС. Там на ПЛИС так и реализуется.

    Добавлено (21.01.2013, 16:16)
    ---------------------------------------------
    Использование энкодера подразумевает проектирование мультимедийного устройства. А для таких устройств нижем камень и побыстрей и по богаче в архитектуре.

    Форум радиолюбителей » СХЕМЫ » МИКРОСХЕМЫ » Энкодер на AVR (Описание как написать программу для энкодера)
    • Страница 2 из 3
    • «
    • 1
    • 2
    • 3
    • »
    Поиск:

    Внимание! Форум переехал на Tehnodium.ru



    © 2010-2022 "Форум Радиосхемы". All Rights Reserved  Почта  PDA