Например TDA7294

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

Текущее время: Сб фев 28, 2026 14:07:34

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


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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Arduino Uno Таймер
СообщениеДобавлено: Пт дек 24, 2021 21:06:38 
Прорезались зубы

Карма: 1
Рейтинг сообщений: -15
Зарегистрирован: Пт авг 27, 2010 18:05:09
Сообщений: 209
Рейтинг сообщения: 0
Привет "РА."-Кот :). Необходима ваша помощь. Хочу использовать для одного из проектов внутренний таймер с прерыванием, без использования выходов МК к которым он может быть подключен.
Выход 5 и 6: timer0
Выход 9 и 10:timer1
Выход 11 и 3:timer2
Данные выводи МК будут использоваться в качестве бинарных входов, а некоторые в качестве выходов. Как настроить таймер без привязки к выводам МК (ШИМ на выходе МК, тд. мне не нужен)?


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Пт дек 24, 2021 21:22:52 
Мучитель микросхем
Аватар пользователя

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 423
Откуда: Харьков
Рейтинг сообщения: 0
https://alexgyver.ru/lessons/timer-isr/

https://habr.com/ru/post/453276/


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 03:44:39 
Прорезались зубы

Карма: 1
Рейтинг сообщений: -15
Зарегистрирован: Пт авг 27, 2010 18:05:09
Сообщений: 209
Рейтинг сообщения: 0
Не понял, можно ли отдельно использовать вывод(Выход) МК от таймера или нет, что бы они не влияли друг на друга.


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 10:04:23 
Мудрый кот

Карма: 25
Рейтинг сообщений: 499
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1870
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
В документации микроконтроллера см. внутреннюю пр. схему выбранного таймера. Введите вход с клока, выберите прескалера. Что произойдет через время таймера (например, поднятие флага), следите за прерываниями и не переходя к выводам (для Вашей другой функции).

Из пдф-а: The Timer/Counter can be clocked by an internal or an external clock source.
---
Я бы начал тесты с blink по таймера, сначала с готовой программы. Поменяйте на другое время, поменяйте тип исполняемой функции...

Internal Timers of Arduino
https://create.arduino.cc/projecthub/Ma ... ino-58f6c9


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 11:23:44 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1505
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15486
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
По умолчанию, если не используются функции analogWrite() все выводы могут использоваться как цифровые.
Использование таймера "в своих нуждах" требует внимания только в отношении функций системного времени
millis()
micros()
delay()
да еще если tone() в программе использовать намечается.
Дополнительно имеется возможность использовать Т0 в части прерывания по совпадению для OCR0A (только для МК, имеющих таковой - к примеру 186 и 328 мегах) без дополнительных ограничений.
8)


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 11:24:50 
Прорезались зубы

Карма: 1
Рейтинг сообщений: -15
Зарегистрирован: Пт авг 27, 2010 18:05:09
Сообщений: 209
Рейтинг сообщения: 0
Да это уже немного ближе к тому, что я хочу.
То есть после срабатывания таймера по звортному отсчету функция изменяет некоторую переменную относящуюся к основной части программы без изменения состояний выходов мк.


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 11:29:29 
Мучитель микросхем
Аватар пользователя

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 423
Откуда: Харьков
Рейтинг сообщения: 0
только что протестил библиотеку от alexgyver. подключил к проекту, над которым работаю, все ОК.
Код:
 

#include "GyverTimers.h"


Timer1.setFrequency(30);               // Высокоточный таймер 1 для первого прерывания, частота - 3 Герца
  //Timer1.setPeriod(333333);           // то же самое! Частота 3 Гц это период 333 333 микросекунд
  //Timer1.setFrequencyFloat(4.22);     // Если нужна дробная частота в Гц 
  Timer1.enableISR(CHANNEL_B);

// Прерывание А таймера 1
ISR(TIMER1_B) {  // пишем  в сериал
  Serial.println(millis());
}



Этот код работает. Посмотрел логическим анализатором на 10-м пине - никаких действий. Проверил работу пина в других функциях - никаких нареканий


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 11:46:39 
Мудрый кот

Карма: 25
Рейтинг сообщений: 499
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1870
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
khomych, было бы хорошо делать только быстрые собития (напр. поднимать флаг, считать count и т. д.) во время переполнения прерывания таймера, а медленные события (как Serial.print()): выполнения напр. по флагу в теле программы (loop). Иначе можете пропустить собитие.


Вернуться наверх
 
 Заголовок сообщения: Re: Arduino Uno Таймер
СообщениеДобавлено: Сб дек 25, 2021 12:00:42 
Мучитель микросхем
Аватар пользователя

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 423
Откуда: Харьков
Рейтинг сообщения: 0
Я в курсе. это просто для теста, что запускается прерывание


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

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


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

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


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