Jump to content
trengtor

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

Recommended Posts

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


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

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

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

Share this post


Link to post
Share on other sites

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


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

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

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

Насколько я знаю, переполнение вызывается только при переходе 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 бит). Я верно вас понял?

Edited by trengtor

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

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

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

Share this post


Link to post
Share on other sites

Высокая надежность SiC! Как они этого добились?

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

Подробнее

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


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

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

Share this post


Link to post
Share on other sites

Материалы вебинара «STM32L5. Секреты оценки энергопотребления»

Опубликованы запись и материалы вебинара КОМПЭЛ, посвященного первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре было рассказано о самых распространенных ошибках при расчете энергопотребления микроконтроллеров и о специальном тесте ULPMark, позволяющем дать наиболее объективную оценку энергоэффективности. Измерения проводились на демонстрационной платформе STM32L562E-DK.

Подробнее

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

Edited by trengtor

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

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

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

Share this post


Link to post
Share on other sites

Снижена цена на AC/DC и DC/DC преобразователи Mornsun в Компэл!

Компэл и компания Mornsun снизили цены на преобразователи AC/DC-преобразователи семейств LS и LDE. По привлекательной цене также предлагаются DC/DC-преобразователи изолированных семейств поколений R2 и R3 различного конструктивного исполнения.

Подробнее

Нет.


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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

Возможно.

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

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

Удачи!

Edited by trengtor

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Edited by trengtor

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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


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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • 24 В при токе 2.5 А это 60 Вт. 27000 вольт при 60 Вт это ток один-два миллиампера. Которые имеют ток утечки выше миллиампера. Собственно, заряжать столь слабым источником не получится, что ты и получил на практике. Перематывай трансформатор на гораздо меньшее напряжение, но на гораздо больший ток, хотя бы в 30 раз!
    • Карочь ребя  , все по  фне шую ...  Холодильник в кухню , капутер  в гостинную ...  
    • Делаю зарядное устройство для электролитических конденсаторов, заряжать решил от ТДКС и схемы ZVS драйвера. Питание беру от лабораторного источника питания (выставляю около 24В и 2,5 А). Зарядить нужно блок флэш электролитов (те, что применяются в вспышке фотоаппаратов, 330В, 120 мкФ каждый) со смешанным подключением (общей емкостью 1280 мФ и напряжением 990В). Этот способ уже рассмотрен здесь: https://youtu.be/et0DtOzbB0U https://youtu.be/t7iZNVMdrU8 Подключил ТДКС к блоку - напряжение зарядки выше 60В не растёт. То есть, показание на мультиметре доходит до 60В и остаётся на месте. При этом, без нагрузки ТДКС работает стабильно, выдаёт хорошую дугу и напряжение выше киловольта. Сами конденсаторы - рабочие. Чем может быть связана такая просадка? Пробовал подключать отдельно линию из 10 параллельных конденсаторов - напряжение достигает максимум 30 В.
    • Если жесткий диск механический, то ему такое не понравится, надо ццд ставить.
    • Это и есть датчик тока - что для отключения, что для стабилизации. Все зависит от того, как сделан стабилизатор тока. Если правильно - то шунт и будет около 0,01 Ом. Только т огда ему нужен будет усилитель сигнала.   - вот вам и стабилизатор тока, и напряжения, и датчик тока 0,01 Ом. И ток 5А или около того.

  • Переключатели фиксированные, 3 пина

  • Similar Content

    • By Артур Измаилов
      1.Создать схему в которой два светодиоды загораются в следующей последовательности:  1 и 2, 2 и 3, 3 и 4, …, 15 и 16, 1 и 2 и т.д. (т.е. создается эффект движения двух светодиодов).
      Дано условие выше. Решение задачи нужно представить в Proteus. Код для программирования пишу в AtmelStudio 7. Схему собрал в Proteus. Вывел 16 светодиодов через 2 порта (Порт B и Порт D). МК использовал ATMEGA 8 вариации в корпусе DIP с 28 ножками (SPDIL28). 
      До этого смог написать схему, чтобы работали светодиоды в последовательности 1.2.3.4.5....16.1.2.3.4 и тд. Делал через оператор FOR. Однако с этим кодом начались проблемы. Помогите пожалуйста. 
      Нижу представил изображение кода. 
      Заранее спасибо!
       

    • By Lisitsin
      Собираем компьютер ZX Spectrum на микроконтроллерах AVR своими руками!
      Проект открытый, все исходники и информация проекта по ссылке
      https://yadi.sk/d/9S2S0ZmNqsLykQ
      Проект печатной платы выполнен в PCAD-2006, программное обеспечение разработано в AVRStudio  4b401
      Здесь отвечу на все возникающие вопросы и помогу со сборкой и запуском
    • By O5-14
      По поводу этого https://cxem.net/mc/mc220.php девайса. Как напоминалка паролей думал сделать, только в моих краях 1604 нету( Под wg12864 нет случаем модификации ? 
      И что такое значит "Текстовые файлы должны быть в обычном txt формате и без форматирования" - первая часть понятна. А без форматирования ? Одна длинная строка ? Пробелы-то хоть можно ?
    • By Karl-Ieronim
      Коллеги, всем привет. 
      Увидел вот такой проект. 
      Несмотря на явную привлекательность что-то совсем мало повторивших. 
      Может кто-то из завсегдатаев форума делал этот проект? 
      Интересует ваше мнение: хочу повторить, но не силен в программировании, поэтому беспокоюсь на счёт подводных камней с которыми не смогу справиться. 
    • By 3цераптор
      Аутомотив Солюшенз Груп, (ASG) входящая в группу компаний VK Electronics, открывает вакансию программиста микроконтроллеров. На данный момент компания ведет свою деятельность по трем направлениям:
      Разработка автомобильной электроники (блоки управления для сбора данных);
      Системы управления автопарком;
      Промышленная электроника (система "умный дом" SOHO)
      Сотрудничая с нами, Вы будете находиться на острие новых технологий, заниматься исследованием и креативной разработкой, а не банальным написанием кода в жестких условиях ТЗ. Мы позволим Вам самостоятельно принимать решение и находить новые технологии реализации Ваших идей.
      Вы заинтересованы в собственном развитии и Вам интересны новые технологии, а так же Вы желаете стать частью команды современной компании?Ждем Ваших откликов!
      Что нужно делать:
      разрабатывать прошивки для микроконтроллеров;
      участвовать в составлении ТЗ в составе рабочей группы проекта.
      Мы хотим видеть специалиста с...
      Профильным образованием, рассматриваем выпускников ВУЗов;
      Знанием языков программирования;
      Знанием ОС FreeRTOS, Linux;
      Умением программировать чисто, без мусора в коде и стандартных библиотек;
      Умением самостоятельно, а главное быстро разбираться и искать пути решения интересных и трудных задач;
      Знанием архитектур на ядре ARM7,Contex-M3, Contex-M4;
      Опытом работы с процессорами STM 32F1/2/3/4, NXP, Texas industries;
      Знанием протоколов CAN, CANOpen, RS232, RS485;
      Опытом работы с беспроводными модулями GSM,GPS,WiFi и их аппаратными реализациями;
      Опытом разработки ПО для серийных изделий.
      Мы предлагаем:
      ЗП по итогам собеседования, от 80 000 руб.
      Адекватную мотивацию как по ЗП, так и по бонусам;
      Комфортный офис, расположенный в самом центре г. Воронежа;
      Необходимое оборудование для продуктивной работы;
      Пятидневная рабочая неделя, с 9 до 18 часов ( возможно смещение времени работы);
      Работа в молодой команде профессионалов;
      Возможность работать с реальными проектами, видеть результаты креативной работы;
      Сладости для питания мозга :).
×
×
  • Create New...