Например TDA7294

Форум РадиоКот • Просмотр темы - Таймеры/счётчики в AVR
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб сен 26, 2020 14:26:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1133 ]     ... , , , 50, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 10, 2018 06:02:17 
Потрогал лапой паяльник

Карма: 7
Рейтинг сообщений: 78
Зарегистрирован: Чт июл 11, 2013 12:37:39
Сообщений: 377
Рейтинг сообщения: 0
Да можно же в конфигураторе Codevision AVR мышкой пощелкать и посмотреть какие режимы доступны ))

Режимы чего?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 10, 2018 06:10:52 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 1
Проверил в железе на tiny2313 (Т1 не отличается mega16, встроенный генератор 4МГц). Вывод OC1A на PB3. Действительно, низкий уровень на OC1A представляет собой волос, которого хватает только для запуска осциллографа. Работает только программа с переключением.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 10, 2018 07:18:18 
Потрогал лапой паяльник

Карма: 7
Рейтинг сообщений: 78
Зарегистрирован: Чт июл 11, 2013 12:37:39
Сообщений: 377
Рейтинг сообщения: 0
В самый первый проход цикла все нормально - "0" держится на OC1A, пока счетчик не досчитает до конца.
В конце цикла производится остановка таймера/счетчика, OC1A сбрасывается в "0", возврат в начало цикла, новая инициализация и запуск. И вот тут "1" появляется сразу же.
Может есть какой-то порядок запуска/остановки T/C1? Последовательность действий, которую я не соблюдаю. Может, паузу давать надо после остановки и до нового запуска, или еще что...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 10, 2018 08:40:16 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 1
Думаю, отключить COM не значит изменить память его состояния. Поэтому, когда вновь разрешается COM на лапу выводится запомненное состояние??? Переключения лапы PB3/OC1A (PD5 для mega16) добился явным указанием режима работы на сброс при сравнении.


Вернуться наверх
 
Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб ноя 10, 2018 18:22:27 
Потрогал лапой паяльник

Карма: 7
Рейтинг сообщений: 78
Зарегистрирован: Чт июл 11, 2013 12:37:39
Сообщений: 377
Рейтинг сообщения: 0
Я вот такое придумал.
Устанавливаю счетчик как обычно (OC1A=0), он считает 0.3 сек и переключает OC1A в 1.
Потом задержка ~0.3 сек. Потом счетчик перенастраиваю так, чтобы при совпадении он обнулил OC1A (для этого предделитель ставлю CK/1 и OCR1AL=1 - чтоб он быстро все это сделал). Потом возврат в начало и опять считает до появления "1". Завтра буду проверять.



Добавлено after 23 minutes 36 seconds:
Ну понятно, решение одно. :) Ну и хорошо.

akl, а как рассчитать время задержки по вашему примеру?
Код:
   LDI   R20,BYTE3(Fo/5)
   LDI   R21,BYTE2(Fo/5)
   LDI   R22,BYTE1(Fo/5)
LOOP:
   SUBI   R22,BYTE1(1)
   SBCI   R21,BYTE2(1)
   SBCI   R20,BYTE3(1)
   BRNE   LOOP


Вернуться наверх
 
Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Хорошие новости для покупателей источников питания! Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вс ноя 11, 2018 04:28:32 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 1
Просто считаете такты выполнения цикла LOOP и заносите в регистры время выдержки деленное на это число тактов.
Код:
   LDI   R20,BYTE3(6*Fo/10/5)
   LDI   R21,BYTE2(6*Fo/10/5)
   LDI   R22,BYTE1(6*Fo/10/5)   ;0,6 секунды
LOOP:
   SUBI   R22,BYTE1(1)   ;1 такт
   SBCI   R21,BYTE2(1)   ;1 такт
   SBCI   R20,BYTE3(1)   ;1 такт
   BRNE   LOOP         ;2 такта
;цикл занимает 5 тактов


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пн дек 24, 2018 16:55:37 
Открыл глаза

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 70
Рейтинг сообщения: 0
Муррр, усатые!

Кому-то удалось затактировать модуль USI от таймера T0? В режиме I2C в симуляторе вроде и 4-бит счетчик считает и на прерывание уходит, вроде как и сдвиговый регистр сдвигает данные к выходу. Но нога SCK не дрыгается, на ноге DATA данных тоже нет. В железе так же. Такое ощущение, что выходные драйверы отвязаны от пинов в режиме тактирования от таймера. Может, оно только для режима SPI предназначено? Самое что мурррргрюмое, в дашике ни слова о том, как связаны регистры PORT и модуль USI.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 13:53:18 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
А почему в ATtiny2313 (таймер №1) канал совпадения “A” генерит прерывания многократно, а “B” генерит только единожды? Традиционно-тинийские удешевления?


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 13:57:23 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15374
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
это как это? вроде оба канала идентично себя ведут

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:00:37 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 0
Может и непрерывно в зависимости от настройки. Может вообще без прерываний, если выводить на OC1B.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:11:43 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
Да, забыл добавить, что режим CTC - сброс при совпадении (не ШИМ, не вэйв). Сделал секундное мигание светодиодом (подпрога меняет Т-флаг и порт) от "A" мигает, от "B" только зажигается и горит... :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:15:40 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15374
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
экстрасенсы все в отпуске... я просто угадываю: у вас ошибка в коде :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:23:01 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
Хм..., но код то не меняю, меняю только выбор железа "A" или "B". Может контрик "битый"? И в даташите (стр.106, таблица 46) мод 4, прописано только OCR1A... (а не OCRnA или CTCn, как в более мощных контриках) :dont_know:


Последний раз редактировалось Серый_ Вт дек 25, 2018 14:39:26, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:39:06 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 0
Можно попробовать режим 12.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 14:51:15 
Друг Кота
Аватар пользователя

Карма: 39
Рейтинг сообщений: 1540
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 4895
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
если мне не изменяет память, у 2313 в режиме стс верхней границей всегда является OCR1A (нет для этого отдельного регистра). А когда с "Б" работаешь в "А" что записано?

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 15:00:52 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
Можно попробовать режим 12.

Имхо не оно, это о "каптуре эвенте" (основная суть почему "B" дурит?)
...верхней границей всегда является OCR1A (нет для этого отдельного регистра). А когда с "Б" работаешь в "А" что записано?

Да и в "A" и в "B" подсовываю делитель "15625", в любой незаюзанный из них = ничего не залито (временно 1 МГц внутка, предмасштабатор /64, /15625 получим 1 сек.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 15:26:19 
Друг Кота
Аватар пользователя

Карма: 39
Рейтинг сообщений: 1540
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 4895
Откуда: Сердце Пармы
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
т.к. тор=ocr1a, то делитель надо записывать в "а" в любом случае.

Добавлено after 3 minutes 4 seconds:
либо тор=icr1 (режим 12) и делитель записать в icr (только ногу захвата придется заземлить, иначе делитель собьётся) в этом случае регистры "а" и "б" будут равнозначными (если оно тебе надо).

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 15:45:44 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
В таблице написано значение MAX (что не есть значение TOP). Получается в "A" можно/нужно записывать значение FFFF или не меньшее чем в "B" (15625)? Иначе говоря, если "B" запустили, но "A" уже нельзя использовать "вольно" или с меньшим значением? :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 15:57:32 
Друг Кота
Аватар пользователя

Карма: 39
Рейтинг сообщений: 1540
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 4895
Откуда: Сердце Пармы
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
в режиме СТС, ТОР=OCR1A на скорость хода твоих часов может повлиять только значение в "а", значение в "б" может повлиять только на фазу (опережение/отставание прерывания б от прерывания а) если "б" меньше или равно "а". если б>а то прерывание б вообще не будет вызываться.

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 16:28:46 
Опытный кот
Аватар пользователя

Карма: 10
Рейтинг сообщений: 111
Зарегистрирован: Пт ноя 30, 2007 14:40:44
Сообщений: 711
Рейтинг сообщения: 0
Нда, ребят, вот вам и "2 равноценно независимых..." :))) Практика показала, включаем только "B", в "A" просто лежит...:
1) ...делитель тоже что и в "B" = светодиод мигает посекундно/нормально
2) ...FFFF = светодиод мигает с интервалом в несколько секунд
3) ...меньше чем в "B" = процесс не идёт
Спс за разъяснения. Я бы это назвал функцией "удешевлённо-битого контроллера"... :)))


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1133 ]     ... , , , 50, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y