А в чём разница между внутреним тактовым генератором и внешним кварцевым резонатором? Когда что лучше использовать? Или кварц просто используют для "экзотических" скоростей?
Внутренний хорошо использовать, если необходимо высвободить дополнительные 2 линии порта, высвободить место на плате и когда не требуется четкая точность временных интервалов.
Доброй всем ночи, всего пару недель изучаю АВР’ы, и всех тонкостей ещё не знаю, не бейте сильно, если спрошу или напишу глупость. У меня вопрос про таймер компаратор контроллера ATtiny2313, который меня уже второй день мучает. Пишу программку “Терморегулятор”, к контроллеру подключены 2 кнопки для настройки рабочей температуры, после нажатия на любую из кнопок, программа переходит в режим настройки, который длиться до прерывания от компаратора таймера 1(~9 сек), после чего программа опять переходит в режим регулирования температуры. Ну так вот, нажимаю кнопку, включается режим настройки, настраиваю, жду 9 секунд, программа возвращается в обычный режим, все нормально. Но, если программа в обычном режиме работает больше 9 секунд, то при нажатии какой либо из кнопок, сразу после перехода в режим настройки, компаратор срабатывает и программа возвращается в обычный режим, хотя по идеи, должно как минимум 9 секунд пройти. (Прошу прощения за сумбур, с трудом смог хоть так описать проблему)
Во вложении приведен тот кусок кода, который отвечает за всё это безобразие.
Для облегчения чтения, я изменил Tmp1 на просто Tmp, а в секции Reset некоторые Tmp1, случайно пропустил.
Режим настройки отличается от обычного лишь пропуском опроса датчика. Я могу выложить полностью всю прогу, но она аж17 кб весит, у вас есть желание её просмотреть?
С проблемой я таки разобрался, сожалею, что, возможно, кому-то пришлось в мою писанину вникать.
А проблема решилась просто, достаточно было в прерывании, предделитель таймера на 0 изменить, тем самым остановить его. Раньше я просто запрещал прерывания, а таймер сам по себе тикал.
Это что выходит, если таймер-компаратор уже настроен, но прерывания от него запрещены, он досчитывает до нужного значения, выставляет какой то флаг, сигнализирующий систему о прерывании, и как только прерывания разрешаются, оно тут же срабатывает?
P.S.
Если кто-то всё же успел вникнуть в исходник, вероятно, он обнаружил какие нибудь просчеты в логике, буду рад, если мне об этом тоже станет известно
У проблем как известно не одно решение. Почему так получалось? вот ответ: по прошествии времени при совпадении устанавливается флаг OCF1A(/B/C) региста TIFR поскольку прерывание запрещено счётчик дальше считает устанавливает флаг переполнения сбрасывается и т.д. при включении режима настройки ты обнуляешь счётный регистр однако флаг остаётся установлен (обработчик прерывания его авт. сбрасывает) и при разрешении прерывания естественно у тебя запускается обработчик т.е. тебе при входе в режим установки надо сбрасывать OCF1A. Посмотри в дате конфигурацию регистра TIFR для своего контроллера.
_________________ Настоящий кот всегда либо голоден,
либо невыспался ...
Друзья помогите начинающему программисту мк! Хочу сделать программатор и бегущие огоньки из учебника! Ноне могу найти АТ90s2313(в магазине сказали что такие у них больше не продаются)! Подскажите чем заменить! Изменятся ли номиналы резисторов и конденсаторов после замены, какой брать кварц! Или же схема программатора останется прежней!?
_________________ Учится, учиться и еще раз учиться!
Как завещал великий Ленин В.И.
Аппаратная часть программатора может остаться прежней, потребуется новое программное обеспечение, поддерживающее этот контроллер.
Программа для самого контроллера может остаться прежней, при условии включения в ATtiny режима совместимости.
А тема по прошивке вот, ищите внимательнее: http://www.radiokot.ru/forum/viewtopic. ... attiny2313
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения