Микроконтроллеры avr для начинающих " Урок15 асинхронный режим в таймере"

Поділитися
Вставка
  • Опубліковано 3 лют 2025

КОМЕНТАРІ • 32

  • @marafon119
    @marafon119 11 років тому +2

    Очень позновательно. Спасибо!

  • @юрийюрьевич-ж7я
    @юрийюрьевич-ж7я 11 років тому +1

    Спасибо за такие видео!

  • @egoleos
    @egoleos 9 років тому +1

    Проверку на "горит" - "не горит", можно заменить простой инверсией бита, длиной в одну строку, а именно "PORTA ^= (1

  • @Ruzik503
    @Ruzik503 11 років тому

    А в какой программе делалось видео? Особенно интересно как все это сводилось в одно целое? Очень наглядно получается. Также интересно типа таких моментов как на 0:34 мигание букв/цифр как сделано?

    • @АлександрПисанец
      @АлександрПисанец  11 років тому

      В основном две. Анимацию в Anime Studio, а потом все собираю в Vegas Pro. Эффекты в программе Vegas Pro.

    • @Ruzik503
      @Ruzik503 11 років тому

      Спасибо.

    • @Ruzik503
      @Ruzik503 11 років тому

      Александр Писанец А у вас нет желания сделать эти же уроки в программе Flowcode V5 for AVR?
      Было бы не плохо. Для начинающих эта программа более доступна в понимании, но как все там правильно реализовывать, не совсем понятно.
      Если возьметесь, то цены не будет вашим урокам.))
      Спасибо.

    • @АлександрПисанец
      @АлександрПисанец  11 років тому

      Я этой программы не знаю, некогда не пользовался

    • @Ruzik503
      @Ruzik503 11 років тому

      Александр Писанец Жаль, но посмотрите ее все равно. Она конечно не для сложных проектов, но для простых очень может пригодиться. И вы как программист разберетесь в ней за пол часа, так как знаете что нужно делать.
      Там суть в том, что не нужно писать код, а собирать программу из кубиков. А вот как правильно это делать очень мало примеров.((
      Верней они есть, но вот почему именно так сделано/реализован алгоритм сборки кубиков, остается гадать.

  • @coderkpot
    @coderkpot 11 років тому

    добрый вечер.
    я смотрю все ваши видео очень понравилось есть конечно же что-то не понятно но пытаюсь вникнуть.
    такой вопрос планируете ли вы делать видео для начинающих (с нуля так сказать) по МК на ядре ARM M7 STM32 ?
    очень интересно как управляться с такой мощьностью и очень интересно.
    мне подарили платку с stm32 ,но так не хочется сидеть вникать в другую среду разработки,тут со студией кое как разобрался хотел бы в ней и продолжать.
    за ранее спасибо.

    • @АлександрПисанец
      @АлександрПисанец  11 років тому

      ARM сам не знаю. Я также как и вы, не хочу сидеть вникать в другую среду разработки. Итак, хватает чего учить, постоянно что-то новое.

  • @anatoliyst1997
    @anatoliyst1997 11 років тому

    Почему-то вместо того, чтобы выставились биты из 32 строчки программы, у меня выставляется флаг TCR2UB в окне периферии, но в протеусе все работало. Меня беспокоит то, что не ставятся 3 бита в TCCR2.

  • @nikolaikonoplyannikov4840
    @nikolaikonoplyannikov4840 10 років тому

    Уроки очень полезны, но вопросов много. Какой подход использовать если светодиод нужно зажечь на три секунды в сутки например, сохраняя точность???

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Запускаете второй кварц часовой и в нужное время включаете ваш светодиод. Простыми словами реализовываете часы на микроконтроллере это совсем не трудно.
      Видео про асинхронный режим Микроконтроллеры avr для начинающих " Урок15 асинхронный режим в таймере"

  • @nikolaikonoplyannikov4840
    @nikolaikonoplyannikov4840 10 років тому

    Добрый вечер, Александр. Использовав код из вашего урока для реализации таймера в 1 час у меня возникла проблема: за час моя схема спешит на 2,6 секунды. Я использовал кварц 32768 кГц и Atmega8. Кварц в металлическом корпусе, заземлил. Немного изменил программу. По какой причине может возникать расхождение с реальным временем?
    #include
    #include
    #include
    int Sec;
    ISR (TIMER2_COMP_vect)
    {
    if (++Sec==450) // 1 час
    {
    Sec=0;
    PORTC|=(1

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

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

    • @hekto_pyc9998
      @hekto_pyc9998 6 років тому

      Мне кажется для прерывания задержка через чур.

  • @6topor1
    @6topor1 8 років тому

    Добрый день . А можно ли вместо регистра сравнения воспользоваться предделителем на 128 для второго таймера , и получить тоже тот-же результат 1сек. Я написал маленькую программку для atmega88 и 1602 на прерываниях по переполнению Т2, тактируется атмега он от внутреннего RC на 8МГц, таймер Т2 от кварца на 32768 .включил предделитель на 128 , но сколько не мучился не могу получить одну секунду в лучшем случае значение на дисплее меняется идин раз в 8 сек(((( может я что-то не так делаю?

    • @alexandrbabacov7365
      @alexandrbabacov7365 8 років тому

      Вроде разобрался с проблемой ... чуть не поседел )) не все часовые кварцы подходят и из-за этого была не стабильная частота , после подбора кварца между ножками припаял еще резистор на 5МОм , и после этого начал радоваться стабильной работе

    • @АлександрПисанец
      @АлександрПисанец  8 років тому

      +Александр Бабаков Да тут вы правы, на кварцах луче не экономить.

  • @bobybob5005
    @bobybob5005 10 років тому

    Три раза посмотрел, но всё же есть вопрос.
    Какое преимущество использования второго кварцa. Он работает автономно? Чем лучше считать секунды вторым кварцем?
    И толи у мения computer гличить, толи вы перезаписали исходники новым уроком по теме USART. Как не скачаю разными бровсерами всё USART.
    Спасибо.

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Второй кварц работает сам по себе. Насчет исходника посмотрю.

    • @bobybob5005
      @bobybob5005 10 років тому

      Очень Интересная тема.
      Я умудрился запустить на Atmega328P мигающий LED в комбинации со sleepmode на 0.001mA. Скажите а для чего корпус кварца к земле паять? Что это дает? Верю что лучше, но любопытна суть.
      Спасибо за урок!

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Раньше занимался высокочастотной электроникой. Вот привычка и осталась.

  • @dmitriibannikovasx
    @dmitriibannikovasx 7 років тому

    Александр, почему ты пишешь asm("cli"); а не просто cli(); Ведь они же одно и то же выполняют...

  • @evgeniygubar2434
    @evgeniygubar2434 10 років тому +1

    Все уроки замечательные, но intro... Какое то пугающее

  • @FIRSTFIA
    @FIRSTFIA 10 років тому +1

    Переключение в асинхронный режим. После переключения счетчик ведь не считает?! как он может выждать 3 такта если не тактируется...
    У вас флаги xxx2UB даже не устанавливаются, а у меня они не хотят сбрасываться, симулятор проганяет целые миллисекунды, а флаги так и висят:
    while(ASSR != (1

    • @FIRSTFIA
      @FIRSTFIA 10 років тому

      Тоесть еще раз:
      (ASSR = (1

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Dmitriy Vovk Надо в реальных условиях через отладчик в симуляторе такое и происходит. Там есть какой то вариант но сейчас помню как делать. Сам пользуюся отладчиком

    • @FIRSTFIA
      @FIRSTFIA 10 років тому

      Александр Писанец Разобрался, в железе всё нормально.
      Отладчик пока не спешу покупать, симулятор у atmel глючный, представляю какой отладчик...

    • @АлександрПисанец
      @АлександрПисанец  10 років тому

      Отладчик все нормально. Видно все что происходит