Перейти к содержанию

Прерывание По Достижению Счетчиком Pwm Значения Top


trengtor

Рекомендуемые сообщения

Я верно понимаю, что вектор для прерывания по достижению счетчиком PWM значения TOP совпадает с вектором для переполнения этого же счетчика?

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Насколько я знаю, переполнение вызывается только при переходе 255->0 или 65535->0. Переход через регистр сравнения детектируется прерываниями по сравнению.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Насколько я знаю, переполнение вызывается только при переходе 255->0 или 65535->0. Переход через регистр сравнения детектируется прерываниями по сравнению.

The Timer/Counter Overflow Flag (TOV1) is set each time the counter reaches TOP. In addition the OC1A or ICF1 Flag is set at the same timer clock cycle as TOV1 is set when either OCR1A or ICR1 is used for defining the TOP value. If one of the interrupts are enabled, the interrupt handler routine can be used for updating the TOP and compare values.

Т.е. обрабатываем, например, вектор IVT_ADDR_TIMER1_COMPA (или, соответственно, IVT_ADDR_TIMER1_COMPB) в случае использования 1 канала (ШИМ 16 бит). Я верно вас понял?

Изменено пользователем trengtor

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Пересмотрел даташит, вроде вы были правы, переполнение возникает по достижении TOP или нуля, в зависимости от режима, протеус это подтверждает. Так что прошу прощения если ввел в заблуждение.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Да, ловим именно переполнение, а его условие зависит от режима.

Изменено пользователем trengtor

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Нет.

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Я верно понимаю, что вектор для прерывания по достижению счетчиком PWM значения TOP совпадает с вектором для переполнения этого же счетчика?

Наверное все-таки следует полностью формулировать задачу, какой контроллер? Какой из таймеров-счетчиков в этом контроллере? В каком режиме он работает?

А так все эти ответы можно найти в даташите, если проблемы с английским (а тут не всегда достаточно просто знать язык, нужен именно технический английский), то можно использовать переводы на русский, по крайней мере даташиты на attiny2313, atmega8, atmega128 переведены на русский язык (хотя в переводах встречаются ошибки), с учетом приемственности характеристик контроллеров семейств attiny и atmega (в том числе и в плане таймеров-счетчиков), таким образом можно и на другие контроллеры информацию из переводов получить.

Ссылка на комментарий
Поделиться на другие сайты

Я верно понимаю, что вектор для прерывания по достижению счетчиком PWM значения TOP совпадает с вектором для переполнения этого же счетчика?

Наверное все-таки следует полностью формулировать задачу, какой контроллер? Какой из таймеров-счетчиков в этом контроллере? В каком режиме он работает?

Возможно.

Но не обязательно: такая формулировка вопроса отсекает досужих толкователей даташитов.

А практик, работавший с данным контекстом, сразу поймает суть вопроса.

Удачи!

Изменено пользователем trengtor

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Самое прикольное, что вектора совпадать не могут. Это определено аппаратно. Вопрос, какое событие Вы имеете ввиду. Совпадение или переполнение? Даже если оба условия наступят одновременно, то обрабатываться они буду по очереди, согласно адреса в таблице прерываний.

Ссылка на комментарий
Поделиться на другие сайты

Я этот вопрос благополучно решил.

Еще раз повторяю: при установке конфигурационного бита, выполнение условия для счетчика PWM будет дергать вектор обработчика переполнения этого счетчика. Вы б хоть список векторов для начала посмотрели. И кто где говорил про одновременно? Почитайте раздел PWM в даташите любой атмеги.

Изменено пользователем trengtor

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Все. Понял Вашу проблему, точнее псевдопроблему. Для этого даже даташит читать не надо. Достаточно взглянуть структурную схему таймера/счетчика.

Я вопрос интерпретировал несколько иначе. Извиняюсь за непонятливость с первого раза.

Ссылка на комментарий
Поделиться на другие сайты

Это была даже не проблема, а простое желание уточнить :)

В окружающем нас мире мы можем встретить два радикально противоположных взгляда на программирование:

• Взгляд А: Программирование в основном весьма просто. • Взгляд В: Программирование – это очень сложно.

(Э. Дейкстра)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...