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

Как Пользоваться Таймерами?


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

В общем, в 16 Меге нужно реализовать простейшую ф-ю:

Включить таймер. Он должен отсчитать 0,5 сек с погрешностью не хуже 0,01%. т.е. примерно с погрешностью в 0,05мсек. Затем вызовется прерывание, в котором делаем что нужно. Таймер опять начинает считать до 0,5 сек и т.д.

читал ДШ. перевел его часть, но так до конца и не понял что да к чему. Output compare это, походу, какой-то регистр сравнения. Timer value - макс значение таймера. Не понимаю, зачем эти 2 параметра? Что нельзя ограничиться просто макс. зн-ем таймера. В общем, объясните плиз как надо.

А то я когда выставляю требуемое значение таймера (244 при частоте работы таймера в 3906Гц - делитель на 1024), то все-равно как-то быстро считает. Как задать правильное время???

P.S.

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

*Частота тактирования МК - 4МГц.

Изменено пользователем Дмитрий Андреевич
Ссылка на комментарий
Поделиться на другие сайты

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

таймер считает импульсы. чтобы в конце отсчета импульсов возникло прерывание, нужно загружать туда число на нужное количество отсчетов меньше максимального ($FF для 8-битного) тогда он отсчитает нужное число тактов (с предделителя) и переполнится.

В твоем случае, наверно в таймер загружается 244(кстати откуда число взялось то?) и считает 255-244 импульса до переполнения - т.е. 0.002816 сек.

тебе надо в счетчик загружать значение 11 и ждать 7 прерываний, на 8-м будет твоя долгожданная полсекунда. Каждый раз при возникновении прерывания нужно будет загружать в счетчик значение 11. При этом, учесть такты от возникновения прерывания до загрузки значения в счетчик - на это количество времени выдержка будет дольше, причем на каждом прерывании - т.е. в 8 раз. Почему дольше? Потому что при загрузке значения в счетчик предделитель тоже сбрасывается - а он успеет к этому времени насчитать с десяток микросекунд.

Учение - изучение правил. Опыт - изучение исключений.

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

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

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

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

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

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

:) Так вот где собака зарыта! Спасибо, буду пробовать. На счет предделителя. я думал, загружать значение в счетчик в самом конце прерывания, чтобы небыло лишних "микросекунд".

А для чего используется регистр сравнения Output compare?

P.S. 244 я насчитал исходя из частоты счета3 906 Гц. Если посчитать до 244 8 раз, то получиться как раз примерно 0,5 сек)))

Изменено пользователем Дмитрий Андреевич
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

А для чего используется регистр сравнения Output compare?

Таймер постоянно считает импульсы ( если включен) . В регистр Output compare можно загрузить любое значение и как только таймер досчитает до этого значения - возникнит прерывание ( если соответствующее прерывание разрешено ) далее таймер может считать дальше ( если о в режиме ШИМ = PWM) или сбросится ( если в режиме СТС ) .

В твоем\вашем случае лучше всего будет использовать 16 битный таймер ( таймер 1 ) в режиме СТС ( сбрасывается если значение таймера до которого он досчитал = Timer value совпало с значением из регистра сравнения ) Делитель можно поставить на 64 и получится что если в регистр сравнения записать максимальное число то он будет сбрасываться раз в 1,048 сек ( соответственно это подходит , только в регистр знчения надо записать такое число чтоб он сбрасывался раз в пол секунды ) .

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

)))

Спасибо большое, Saneoc, пробую... :)

Ну,и.. обращайся на ты. Тоя малый был, сдуру взял да и написал имя-отчество :rolleyes:

С новым годом!

Изменено пользователем Дмитрий Андреевич
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
читал ДШ. перевел его часть, но так до конца и не понял что да к чему.

http://www.twirpx.com/file/54699/

вот русский даташит. правда для 128меги. Для понимания пойдет.

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

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

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

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

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

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

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

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

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

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

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

    • В инструкции нет ОСОБЫХ требований к картам данной камере.  В переписке с продавцом камеры к моим картам он претензий не предъявлял. Не делайте из меня дурака! Я вам который раз объясняю: КАМЕРА В ПОМЕЩЕНИИ ПИШЕТ НОРМАЛЬНО! И воспроизводятся файлы нормально на любом компе: На компе продавца (где файл в помещении снят), на мобильнике и на профи компьютере.   
    • Да хоть еще 10 карт приобретите, если не понимаете что для мощного потока нужен совсем другой стандарт  32 гиговая карта за 1к ?  Вы реально знаете толк в извращениях, за такие деньги минимум люди берут на 64 гига и как раз нужного стандарта но вы этого не понимаете и поэтому всё стоит на месте.   Вам для информации  FHD прут на ура.
    • Таким образом, таблицу надо скорректировать.
    • если забыть про радиатор) 
    • Доброго времени суток. Столкнулся с проблемой: не получается скачать пакет STM32F4 (пробовал и другие, ошибка та же) при нажатии кнопки install появляется ошибка (первый скриншот). Такое ощущение, что CubeIDE не может подключиться к сети, постоянно появляется окно как на втором скиншоте. Подскажите как можно исправить проблему?
    • Я вас конечно уважаю, но хамить мне не надо. Все УНЧ что я создавал сначала до идеала дорабатывались в симуляторе, и только потом собирались. В 98% случаев они сразу работали корректно. Были исключения, но там проблемы были в разводке платы и деталях а не симуляторе. Тот же мой VAC 2.0 ПОЛНОСТЬЮ совпал по результатам тестов в железе с результатами тестов в симуляторе.  Эта схема это простейший ВК в AB классе к которому подключили ОУ для усиления напряжения. Нет ни единой причины этой схеме работать некорректно или плохо. Единственные 2 варианта почему будет работать плохо/не работать, это либо накосячено при сборке или детали обвязки неисправны, либо сам ОУ палëный. Качество работы этой схемы очень сильно будет зависеть от качества ОУ и симулятор тут не при чëм. И опять же, этой схеме уже больше 30 лет и еë собирали сотни человек! Если собрано на нормальных деталях, эта схема будет работать как надо и выдаст качественный звук. 
×
×
  • Создать...