Таймеры/счётчики в AVR
Re: Таймеры/счётчики в AVR
Существует параметрический поиск, о чём как бы можно было догадаться, наверное...
https://www.microchip.com/en-us/paramet ... h.html/716
https://www.microchip.com/en-us/paramet ... h.html/716
- Реклама
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Таймеры/счётчики в AVR
ATmega328PB имеет 5 таймеров, и все с ШИМ.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Таймеры/счётчики в AVR
Starichok51, откуда в 328 меге 5 таймеров?
Там три, каждый с двумя ШИМ...
Там три, каждый с двумя ШИМ...
Белая и Пушистая
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Таймеры/счётчики в AVR
относительно новый тип 328PB (не 328P)
Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode
Three 16-bit Timer/Counters with Separate Prescaler, Compare Mode, and Capture Mode
Ten PWM Channels
-
watchmaker
- Поставщик валерьянки для Кота
- Сообщения: 2183
- Зарегистрирован: Вс ноя 15, 2009 23:13:59
- Откуда: Харьков
- Контактная информация:
Re: Таймеры/счётчики в AVR
Интересно, но они опять прожлобили с предделителем - можно делить тактовую частоту только на 8, 64, 256 или 1024.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Реклама
Re: Таймеры/счётчики в AVR
У них даже на ARM у таймеров всего 8 делителей... Берите STM32, будет десяток таймеров и у каждого полноценный 16-ти битный пределитель.
-
ZyaK
- Потрогал лапой паяльник
- Сообщения: 362
- Зарегистрирован: Сб май 03, 2014 20:01:51
- Откуда: Ижевск
Re: Таймеры/счётчики в AVR
кто мешает в обработчик таймера добавить переменную и сбрасывать по достижении нужного значения и выполнять код?
Электроника -очень точная наука, бубен необходимо держать в левой руке!!!
Re: Таймеры/счётчики в AVR
А нету обработчика. Тогда что?
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Таймеры/счётчики в AVR
OKF, нарисовать.
У АВРок, если прерывание разрешено, то обработчик должен быть. Хотя бы RETI в таблице векторов.
Если на Си, то:
Это минимальный обработчик...
У АВРок, если прерывание разрешено, то обработчик должен быть. Хотя бы RETI в таблице векторов.
Если на Си, то:
Код: Выделить всё
ISR(INT0_vect, __attribute__((naked))){
asm volatile ("reti" ::);
}Белая и Пушистая
Re: Таймеры/счётчики в AVR
Нет, ну речь то зашла о делителях.) А мне, к примеру, нужно на пине иметь какую то частоту. И зачем здесь обработчик. Поделил и вперёд!)
-
watchmaker
- Поставщик валерьянки для Кота
- Сообщения: 2183
- Зарегистрирован: Вс ноя 15, 2009 23:13:59
- Откуда: Харьков
- Контактная информация:
Re: Таймеры/счётчики в AVR
Мне нужно не выполнять код, а выдавать аппаратным ШИМом частоту с точностью до 0.2..0.4%, соответственно на 8-битном таймере делитель нужно держать ближе к верху диапазона. Если имеются предделители только 2⁰ и 2³, это не всегда возможно.кто мешает в обработчик таймера добавить переменную и сбрасывать по достижении нужного значения и выполнять код?
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Таймеры/счётчики в AVR
возьми 16-битный таймер, и можешь изменять частоту в широком диапазоне даже без предделителя.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
watchmaker
- Поставщик валерьянки для Кота
- Сообщения: 2183
- Зарегистрирован: Вс ноя 15, 2009 23:13:59
- Откуда: Харьков
- Контактная информация:
Re: Таймеры/счётчики в AVR
На 88 меге так и делал, но сейчас её брать для этого применения бессмысленно.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Таймеры/счётчики в AVR
watchmaker, тогда расскажи, как ты собрался аппаратным ШИМом формировать нужную тебе частоту?
частоту (меандр) можно формировать таймером без применения аппаратного ШИМа.
шаг 0,2% между соседними частотами на 8-битном таймере ты не получишь никогда.
между числами 250 и 251 (или 249) будет, как раз, 0,4%. с уменьшением числа погрешность будет возрастать.
даже если бы предделители были 1, 2, 4, 8, для любой частоты ты никогда не попадешь в конец записываемого байта.
какие, конкретно, тебе нужны частоты?
частоту (меандр) можно формировать таймером без применения аппаратного ШИМа.
шаг 0,2% между соседними частотами на 8-битном таймере ты не получишь никогда.
между числами 250 и 251 (или 249) будет, как раз, 0,4%. с уменьшением числа погрешность будет возрастать.
даже если бы предделители были 1, 2, 4, 8, для любой частоты ты никогда не попадешь в конец записываемого байта.
какие, конкретно, тебе нужны частоты?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
watchmaker
- Поставщик валерьянки для Кота
- Сообщения: 2183
- Зарегистрирован: Вс ноя 15, 2009 23:13:59
- Откуда: Харьков
- Контактная информация:
Re: Таймеры/счётчики в AVR
220..1760 Гц с соотношением соседних частот 2^(1/12). Конкретное начальное значение 220 Гц не столь важно (+/- 6% не проблема), важно как можно более точное соотношение. 0.4% удаётся добиться в диапазоне делителей 128..256 подбором начального значения, а вот при выходе за этот диапазон 1% в идеале.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Таймеры/счётчики в AVR
не надо сочинять.watchmaker писал(а):0.4% удаётся добиться в диапазоне делителей 128..256
разница между 128 и 129 дает ошибку 1/128, то есть, около 0,8%.
тебе и самому понятно, что на 8-битном таймере 8-кратное изменение частоты с желаемой точностью ты сделать не можешь. только признаться в этом не хочешь.
так что, бери мегу88 и не морочь голову себе и людям.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Таймеры/счётчики в AVR
Starichok51, можно в прерывании таймера динамически менять 128/129 и получить нужную среднюю частоту. Но будет джиттер.
Белая и Пушистая
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Таймеры/счётчики в AVR
ему нужны частоты нот, от ля малой октавы до ля третьей октавы. джиттер будет слух резать.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Таймеры/счётчики в AVR
Здравствуйте, помогите пожалуйста разобраться новичку с таймерами в atmega88p, Использую таймер 2 для шим модуляции, а таймер 0 для прерываний по переполнению, при изменение скважности шим с помощью регистра OCR2B почему то меняется время прерывания таймера 0, никак не могу понять причину, как регистр 2 таймера связан с таймером 0?
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Таймеры/счётчики в AVR
Starichok51, на самом деле нет. слишком часто будет меняться делитель частоты, да и меняться он будет всего на единицу делителя.
Но это надо пробовать, что б послушал кто то с музыкальным слухом.
darkkis89, фрагмент кода в студию
Но это надо пробовать, что б послушал кто то с музыкальным слухом.
darkkis89, фрагмент кода в студию
Белая и Пушистая


