Например TDA7294

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



Текущее время: Пн янв 27, 2020 15:01:31

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


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



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

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

Режимы чего?


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

Карма: 54
Рейтинг сообщений: 724
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3693
Откуда: Ижевск
Рейтинг сообщения: 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
Рейтинг сообщений: 75
Зарегистрирован: Чт июл 11, 2013 12:37:39
Сообщений: 357
Рейтинг сообщения: 0
В самый первый проход цикла все нормально - "0" держится на OC1A, пока счетчик не досчитает до конца.
В конце цикла производится остановка таймера/счетчика, OC1A сбрасывается в "0", возврат в начало цикла, новая инициализация и запуск. И вот тут "1" появляется сразу же.
Может есть какой-то порядок запуска/остановки T/C1? Последовательность действий, которую я не соблюдаю. Может, паузу давать надо после остановки и до нового запуска, или еще что...


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

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

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

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


Вернуться наверх
 
DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи.

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

Карма: 7
Рейтинг сообщений: 75
Зарегистрирован: Чт июл 11, 2013 12:37:39
Сообщений: 357
Рейтинг сообщения: 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


Вернуться наверх
 
Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

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

Карма: 54
Рейтинг сообщений: 724
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3693
Откуда: Ижевск
Рейтинг сообщения: 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
Сообщений: 53
Рейтинг сообщения: 0
Муррр, усатые!

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


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


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

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


Вернуться наверх
 
Распродажа паяльных станций ATTEN и аксессуаров!
Индукционная паяльная станция AT315D - 3 977 ₽, станция паяльная AT80D – 2177 ₽, станция паяльная AT936b – 1000 ₽!

Заходите в раздел акции и спецпредложения на сайте prist.ru, покупайте измерительные приборы, инструмент и паяльно-ремонтное оборудование по специальным ценам.
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Вт дек 25, 2018 13:57:23 
Ум, честь и совесть. И скромность.
Аватар пользователя

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

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

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


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

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


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

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


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

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

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

клавиатура частенько сбоит - пропускает буквы. так что прошу простить, если что...


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

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


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

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

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


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

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

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


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

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

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

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


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

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

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

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


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

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


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

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

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


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

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


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

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


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

Сейчас этот форум просматривают: Ivanoff-iv и гости: 9


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

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


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