Внутренний хорошо использовать, если необходимо высвободить дополнительные 2 линии порта, высвободить место на плате и когда не требуется четкая точность временных интервалов.Tohey писал(а):А в чём разница между внутреним тактовым генератором и внешним кварцевым резонатором? Когда что лучше использовать?
Или кварц просто используют для "экзотических" скоростей?
Мелкие вопросы по МК и ПЛИС.
- Реклама
а вот такой вопрос есть ли команда позволяющая устанавливать/сбрасывать 1 бит в РОН в атмелах?
нашёл есть команда sbi/cbi но работает только с регистрами ввода/вывода
нашёл есть команда sbi/cbi но работает только с регистрами ввода/вывода
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
а это лучше чем у микрочипов, но это команда не битовая... это логическая и арифмитеческая, а я искал в битовых, мдаа...
спасибо[/code]
спасибо[/code]
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Доброй всем ночи, всего пару недель изучаю АВР’ы, и всех тонкостей ещё не знаю, не бейте сильно, если спрошу или напишу глупость. У меня вопрос про таймер компаратор контроллера ATtiny2313, который меня уже второй день мучает. Пишу программку “Терморегулятор”, к контроллеру подключены 2 кнопки для настройки рабочей температуры, после нажатия на любую из кнопок, программа переходит в режим настройки, который длиться до прерывания от компаратора таймера 1(~9 сек), после чего программа опять переходит в режим регулирования температуры. Ну так вот, нажимаю кнопку, включается режим настройки, настраиваю, жду 9 секунд, программа возвращается в обычный режим, все нормально. Но, если программа в обычном режиме работает больше 9 секунд, то при нажатии какой либо из кнопок, сразу после перехода в режим настройки, компаратор срабатывает и программа возвращается в обычный режим, хотя по идеи, должно как минимум 9 секунд пройти. (Прошу прощения за сумбур, с трудом смог хоть так описать проблему)
Во вложении приведен тот кусок кода, который отвечает за всё это безобразие.
Во вложении приведен тот кусок кода, который отвечает за всё это безобразие.
- Вложения
-
- prog.txt
- (1.55 КБ) 750 скачиваний
- Реклама
Как то интересно у тебя в обработке Reset появляется tmp1, хотя ты её не объявлял и напиши как ты в нормальный режим переходишь выложи весь код.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Для облегчения чтения, я изменил Tmp1 на просто Tmp, а в секции Reset некоторые Tmp1, случайно пропустил.
Режим настройки отличается от обычного лишь пропуском опроса датчика. Я могу выложить полностью всю прогу, но она аж17 кб весит, у вас есть желание её просмотреть?
Режим настройки отличается от обычного лишь пропуском опроса датчика. Я могу выложить полностью всю прогу, но она аж17 кб весит, у вас есть желание её просмотреть?
выложи файлом посмотрю
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Собственно вот, я код немного сократил, явно не нужные части заменил описанием, надеюсь, что понять будет не сложно 
P.S.
Хочу заметить, что все работает нормально, за исключением этого небольшого глюка.
P.S.
Хочу заметить, что все работает нормально, за исключением этого небольшого глюка.
- Вложения
-
- prog2.txt
- (8.97 КБ) 922 скачивания
ЗАВТРА ПОСМОТРЮ И ЕСЛИ ЧТО НАЙДУ НАПИШУ.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
С проблемой я таки разобрался, сожалею, что, возможно, кому-то пришлось в мою писанину вникать.
А проблема решилась просто, достаточно было в прерывании, предделитель таймера на 0 изменить, тем самым остановить его. Раньше я просто запрещал прерывания, а таймер сам по себе тикал.
Это что выходит, если таймер-компаратор уже настроен, но прерывания от него запрещены, он досчитывает до нужного значения, выставляет какой то флаг, сигнализирующий систему о прерывании, и как только прерывания разрешаются, оно тут же срабатывает?
P.S.
Если кто-то всё же успел вникнуть в исходник, вероятно, он обнаружил какие нибудь просчеты в логике, буду рад, если мне об этом тоже станет известно
А проблема решилась просто, достаточно было в прерывании, предделитель таймера на 0 изменить, тем самым остановить его. Раньше я просто запрещал прерывания, а таймер сам по себе тикал.
Это что выходит, если таймер-компаратор уже настроен, но прерывания от него запрещены, он досчитывает до нужного значения, выставляет какой то флаг, сигнализирующий систему о прерывании, и как только прерывания разрешаются, оно тут же срабатывает?
P.S.
Если кто-то всё же успел вникнуть в исходник, вероятно, он обнаружил какие нибудь просчеты в логике, буду рад, если мне об этом тоже станет известно
У проблем как известно не одно решение. Почему так получалось? вот ответ: по прошествии времени при совпадении устанавливается флаг OCF1A(/B/C) региста TIFR поскольку прерывание запрещено счётчик дальше считает устанавливает флаг переполнения сбрасывается и т.д. при включении режима настройки ты обнуляешь счётный регистр однако флаг остаётся установлен (обработчик прерывания его авт. сбрасывает) и при разрешении прерывания естественно у тебя запускается обработчик т.е. тебе при входе в режим установки надо сбрасывать OCF1A. Посмотри в дате конфигурацию регистра TIFR для своего контроллера.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Друзья помогите начинающему программисту мк! Хочу сделать программатор и бегущие огоньки из учебника! Ноне могу найти АТ90s2313(в магазине сказали что такие у них больше не продаются)! Подскажите чем заменить! Изменятся ли номиналы резисторов и конденсаторов после замены, какой брать кварц! Или же схема программатора останется прежней!?
Учится, учиться и еще раз учиться!
Как завещал великий Ленин В.И.
Как завещал великий Ленин В.И.
Аппаратная часть программатора может остаться прежней, потребуется новое программное обеспечение, поддерживающее этот контроллер.
Программа для самого контроллера может остаться прежней, при условии включения в ATtiny режима совместимости.
А тема по прошивке вот, ищите внимательнее: http://www.radiokot.ru/forum/viewtopic. ... attiny2313
Программа для самого контроллера может остаться прежней, при условии включения в ATtiny режима совместимости.
А тема по прошивке вот, ищите внимательнее: http://www.radiokot.ru/forum/viewtopic. ... attiny2313
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Я в своё время 2313 тоже не нашёл, взял atmega8, не зразу но зароботало. Не работало у меня т.к. я не зделал бесконечного цикла.
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...
Смотри "Библию программистов": Д.Кнут "Искусство программирования", там подробно все основные алгоритмы расписаны.
Память очень интересная штука: бывает так, что запомнишь одно, а вспомнишь другое...
Напиши на чём пишешь Си или асма
Настоящий кот всегда либо голоден,
либо невыспался ...
либо невыспался ...


