Внутренний хорошо использовать, если необходимо высвободить дополнительные 2 линии порта, высвободить место на плате и когда не требуется четкая точность временных интервалов.Tohey писал(а):А в чём разница между внутреним тактовым генератором и внешним кварцевым резонатором? Когда что лучше использовать?
Или кварц просто используют для "экзотических" скоростей?
Мелкие вопросы по МК и ПЛИС.
-
Оne
- Реклама
- Ximikator
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Ср янв 03, 2007 01:15:28
- Откуда: Баку
- Контактная информация:
Доброй всем ночи, всего пару недель изучаю АВР’ы, и всех тонкостей ещё не знаю, не бейте сильно, если спрошу или напишу глупость. У меня вопрос про таймер компаратор контроллера ATtiny2313, который меня уже второй день мучает. Пишу программку “Терморегулятор”, к контроллеру подключены 2 кнопки для настройки рабочей температуры, после нажатия на любую из кнопок, программа переходит в режим настройки, который длиться до прерывания от компаратора таймера 1(~9 сек), после чего программа опять переходит в режим регулирования температуры. Ну так вот, нажимаю кнопку, включается режим настройки, настраиваю, жду 9 секунд, программа возвращается в обычный режим, все нормально. Но, если программа в обычном режиме работает больше 9 секунд, то при нажатии какой либо из кнопок, сразу после перехода в режим настройки, компаратор срабатывает и программа возвращается в обычный режим, хотя по идеи, должно как минимум 9 секунд пройти. (Прошу прощения за сумбур, с трудом смог хоть так описать проблему)
Во вложении приведен тот кусок кода, который отвечает за всё это безобразие.
Во вложении приведен тот кусок кода, который отвечает за всё это безобразие.
- Вложения
-
- prog.txt
- (1.55 КБ) 750 скачиваний
- Реклама
- Ximikator
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Ср янв 03, 2007 01:15:28
- Откуда: Баку
- Контактная информация:
Собственно вот, я код немного сократил, явно не нужные части заменил описанием, надеюсь, что понять будет не сложно 
P.S.
Хочу заметить, что все работает нормально, за исключением этого небольшого глюка.
P.S.
Хочу заметить, что все работает нормально, за исключением этого небольшого глюка.
- Вложения
-
- prog2.txt
- (8.97 КБ) 922 скачивания
- Ximikator
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Ср янв 03, 2007 01:15:28
- Откуда: Баку
- Контактная информация:
С проблемой я таки разобрался, сожалею, что, возможно, кому-то пришлось в мою писанину вникать.
А проблема решилась просто, достаточно было в прерывании, предделитель таймера на 0 изменить, тем самым остановить его. Раньше я просто запрещал прерывания, а таймер сам по себе тикал.
Это что выходит, если таймер-компаратор уже настроен, но прерывания от него запрещены, он досчитывает до нужного значения, выставляет какой то флаг, сигнализирующий систему о прерывании, и как только прерывания разрешаются, оно тут же срабатывает?
P.S.
Если кто-то всё же успел вникнуть в исходник, вероятно, он обнаружил какие нибудь просчеты в логике, буду рад, если мне об этом тоже станет известно
А проблема решилась просто, достаточно было в прерывании, предделитель таймера на 0 изменить, тем самым остановить его. Раньше я просто запрещал прерывания, а таймер сам по себе тикал.
Это что выходит, если таймер-компаратор уже настроен, но прерывания от него запрещены, он досчитывает до нужного значения, выставляет какой то флаг, сигнализирующий систему о прерывании, и как только прерывания разрешаются, оно тут же срабатывает?
P.S.
Если кто-то всё же успел вникнуть в исходник, вероятно, он обнаружил какие нибудь просчеты в логике, буду рад, если мне об этом тоже станет известно
- moLCHec
- Мявтор!
- Сообщения: 825
- Зарегистрирован: Вс дек 18, 2005 20:04:42
- Откуда: Свердловская обл.
- Контактная информация:
У проблем как известно не одно решение. Почему так получалось? вот ответ: по прошествии времени при совпадении устанавливается флаг OCF1A(/B/C) региста TIFR поскольку прерывание запрещено счётчик дальше считает устанавливает флаг переполнения сбрасывается и т.д. при включении режима настройки ты обнуляешь счётный регистр однако флаг остаётся установлен (обработчик прерывания его авт. сбрасывает) и при разрешении прерывания естественно у тебя запускается обработчик т.е. тебе при входе в режим установки надо сбрасывать OCF1A. Посмотри в дате конфигурацию регистра TIFR для своего контроллера.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Друзья помогите начинающему программисту мк! Хочу сделать программатор и бегущие огоньки из учебника! Ноне могу найти АТ90s2313(в магазине сказали что такие у них больше не продаются)! Подскажите чем заменить! Изменятся ли номиналы резисторов и конденсаторов после замены, какой брать кварц! Или же схема программатора останется прежней!?
Учится, учиться и еще раз учиться!
Как завещал великий Ленин В.И.
Как завещал великий Ленин В.И.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18546
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Аппаратная часть программатора может остаться прежней, потребуется новое программное обеспечение, поддерживающее этот контроллер.
Программа для самого контроллера может остаться прежней, при условии включения в ATtiny режима совместимости.
А тема по прошивке вот, ищите внимательнее: http://www.radiokot.ru/forum/viewtopic. ... attiny2313
Программа для самого контроллера может остаться прежней, при условии включения в ATtiny режима совместимости.
А тема по прошивке вот, ищите внимательнее: http://www.radiokot.ru/forum/viewtopic. ... attiny2313
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


