Например TDA7294

Форум РадиоКот • Просмотр темы - Timer0 не работает ни на одном контроллере
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт июн 02, 2020 01:28:33

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


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



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 13:43:35 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Доброго времени всем. Сижу осваиваю таймеры на atmega8. Играюсь с разными режимами работы и т.д. Только вот непоняточка вышла одна, timer0 работающий в proteus не работает в железе, хотя параллельно ему работает timer1. Я сначала подумал, что контроллер гавкнул, заменил- результат тот же. Потом решил переключить на timer2, при таких же настройках он заработал на всех камнях, а вот нулевой не хочет. Даже 328-ю мегу взял, и на ней ничего не заработало... Поправте меня, можт это я туплю и его отдельно где включать нужно?


_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 14:21:08 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
Тестовая прошивка для мега328П… фьюзы заводская установка (1 МГц).
На выводе РВ5 подключается светодиод. Светик переключается по переполнению таймера0. При замыкании вывода РD2 на общий (GND), светик начнёт мигать значительно медленней.

пробуй
прошивка:
Вложение:
Test Timer_0.hex [500 байт]
Скачиваний: 14

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


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

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

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

Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 14:42:15 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
пробуй


Спасибо. Так-то работает. Мне интересно где я ошибся. Ведь Т1 и Т2 работают сообща, а Т0 и Т1 не хотят...

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 15:03:52 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
Я не пишу на Си… потому твою программу понять не могу. Просто ты теперь уверен, что МК тут не причём. Ошибка в программе… :)

Так ты пробуешь настроить счёт по внешнему выводу Т0? А от чего такты на него поступают?

Добавлено after 5 minutes 29 seconds:
Ведь Т1 и Т2 работают сообща, а Т0 и Т1 не хотят...

Входа Т2 у меги8 и 328 нет. :) Вывод Т0 относится к таймеру0, а вывод Т1 к таймеру1. У таймера2 нет входа для внешнего тактирования.

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


Вернуться наверх
 
Новые контролллеры VIPerPLUS - практический вебинар 10 июня от ST

В программе вебинара - новые контроллеры VIPerPlus, расширяющие границы применения этих компонентов. Обзор их характеристик и преимуществ. Практика. Демонстрация испытаний из лаборатории ST. Пример моделирования в среде E-DesignSuite.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 15:07:14 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Самсусамыч, Не-не, то я так таймеры обозвал. Я просто не пойму одного, три таймера, в моей программе использую два, один из них управляет ч-х разрядным индикатором, друго просто инкрементирует переменную. Так вот в связке таймер0, таймер1- работает таймер1, в связке таймер2, таймер1 работают оба, при том что таймер0 и таймер2 настроены идентично по переполнению, а таймер1 всегда по совпадению.
Интересно, что в обеих случаях всё это работает в протеусе...

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
NanoPower от Maxim – ультранизкое потребление для «бесконечной» работы батареи!

Применяя компоненты NanoPower от Maxim Integrated с минимальным током покоя и минимальным собственным потреблением, вы сможете разработать устройство с максимально эффективной системой питания и продлить срок работы от батареи. Наша подборка статей и новостей по данной теме поможет вам в этом.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 15:34:07 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
Я не смогу тебе помочь, так как не понимаю Си… имей просто ввиду, что у меги8 и меги238 таймера не одинаковые… то есть настройки для 8_й не подойдут для 328_й.

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


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


Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 15:37:45 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Я не смогу тебе помочь, так как не понимаю Си… имей просто ввиду, что у меги8 и меги238 таймера не одинаковые… то есть настройки для 8_й не подойдут для 328_й.

Это я вкурсе, даташит под рукой, я просто сат8 портировал на ат328 чтоб убедиться, что программа не работает, а не контроллер сдох.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


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


Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 15:48:06 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
Могу только тестовую прошивку тебе написать для проверки твоего МК с данными таймерами по твоему описанию, а ты уже прикидывай что к чему. Только меги8 у меня нет... есть только шильд ардуино нано на меге 328П... :)

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


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

Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 16:09:21 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Самсусамыч, Спасибо большое, я думаю пока не стОит))

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 16:11:42 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
:) Ладно.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 16:59:30 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
написал тестовую прошивку для таймера0, чтоб диодом помигать... Работает. Выходит, что два таймера мешают друг-другу, почему-то...

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 17:23:52 
Мудрый кот
Аватар пользователя

Карма: 55
Рейтинг сообщений: 721
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 1746
Откуда: Тюмень
Рейтинг сообщения: 0
Если в прерывании какого либо таймера выполнение программы будет превышать время отсчёта другого таймера то да будут мешать. Если всё нормально, то не будут. Какое время по переполнению одного и другого?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 17:30:07 
Электрический кот

Карма: 15
Рейтинг сообщений: 169
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 1049
Рейтинг сообщения: 0
Выходит, что два таймера мешают друг-другу, почему-то...

Для начала не помешало бы про volatile почитать и добавить куда следует...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 17:35:59 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Выходит, что два таймера мешают друг-другу, почему-то...

Для начала не помешало бы про volatile почитать и добавить куда следует...

Читал, добавлял. Безрезультатно. Но ведь другой таймер с той же настройкой работает ..

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 22:19:17 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 190
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 684
Рейтинг сообщения: 0
a и z обязательно как volatile объявлять. Что в другом месте якобы работает - ничего не показывает. Вам правильно сказали, что надо читать про volatile. Всё, что меняется в переменных обязано быть volatile, компилятор не знает о прерываниях толком и может выкинуть код манипуляций над переменной.
Если не поможет, попоробуйте на время убрать изменение TCNT0 в прерывании. Если и это не поможет - пишите, гляну детальнее.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Сб май 23, 2020 22:25:22 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
NStorm, Здравствуйте. Поправил код под атмега8 с использованием volatile, но ничего не изменилось. TCNT0 не изменяется, там величина постоянная.

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Пн май 25, 2020 12:23:52 
Вымогатель припоя

Карма: 3
Рейтинг сообщений: 190
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 684
Рейтинг сообщения: 0
Цитата:
TCNT0 не изменяется, там величина постоянная.

Я имел в виду, не менять его в прерывании 1ой операцией. Вы его на 178 ставили. Я в ДШ не лазил чтобы проверить - некогда пока, но где-то встречал такое, что сразу в прерывании таймера нельзя менять его знаечение, иначе могут быть глитчи. Правда это может и вообще не об AVR было или вообще не было ) Но в порядке "почему бы и не проверить" написал.

А теперь вообще на 255 ставить - вот это плохая идея точно. У вас так из прерывания может никогда не вылезти МК, если прескейлер недостаточно большой будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Пн май 25, 2020 13:30:42 
Прорезались зубы

Карма: 1
Рейтинг сообщений: 31
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 231
Рейтинг сообщения: 0
Если не изменяется TCNT, значит, счётчик остановлен.

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Пн май 25, 2020 13:32:31 
Вымогатель припоя

Карма: 11
Рейтинг сообщений: 85
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 605
Рейтинг сообщения: 5
Alek_von_German, вы запрашиваете прерывание
Код:
   #define F_CPU 8000000UL
   TCCR1B = (1<<WGM12) | (1<<CS11)  | (1<<CS10);
   OCR1A  =1;
с частотой 32 мкс (31250 Гц),
а время выполнения вашего кода находящегося в прерывании
Код:
ISR (TIMER1_COMPA_vect)
~335 мкс (2985 Гц).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Timer0 не работает ни на одном контроллере
СообщениеДобавлено: Пн май 25, 2020 20:27:52 
Родился
Аватар пользователя

Зарегистрирован: Вт апр 21, 2020 07:44:24
Сообщений: 19
Откуда: Сумы, Украина
Рейтинг сообщения: 0
Так. Это уже интересно. Значит выходит, что я таймером1 забираю всё время у таймера0? Грубо говоря. Мне нужно уменьшить значение таймера1?

_________________
Хочется всё и сразу, а получаешь нихрена и постепенно...


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

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


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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 10


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

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


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