Воскресенье, 23.06.2024, 20:10
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Как убедиться, что МК пользуется кварцем???
GroverДата: Понедельник, 25.02.2008, 16:25 | Сообщение # 1








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
Я сейсат занимаюсь изучением таймеров в ATmega8.
Неодходимо, что бы прерывание происходило точно 1 раз в секунду.
Конфигурирую таумер:
TCCR1B = _BV(CS12) | _BV(WGM12); // Делитель 8 и Режим сравнения.
Записываю расчетное сравниваемое значение:
OCR1A=31250; // 8000000/256

Ну и включаем прерывания:
TIMSK |= _BV (OCIE1A);
sei ();

Таким образом теоретически прерывание должно вызываться примерно раз в секунду. Но оно вызывается один раз в 8 секунд (примерно).

Я попробывал поменять кварц на 16 МГц без изменений в программе - думал, что процесс ускорится в два раза - а не фига - как было, так и осталось!!!

Может не корректно работает кварц, или МК им не пользуется?


--------
GroverSuper.ucoz.net - мои странички.
 
SpaceДата: Понедельник, 25.02.2008, 18:39 | Сообщение # 2








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Извини, но в этом помочь не могу. Я с таймерами ни когда не заморачивался и так глубоко их не изучал sad
 
GroverДата: Вторник, 26.02.2008, 08:14 | Сообщение # 3








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
Вот, что я нашел в соседнем топике smile

Quote

Изначально, сделанные на заводе микроконтроллеры запрограммированы использовать в качестве тактового сигнала внутренний RC генератор. Он хорош тем, что не нуждается вообще ни в каких внешних элементах, но проблема в том, что у него низкая стабильность и частота около 1 МГц. Мы же хотим использовать кварцевый резонатор, поэтому нам нужно переключить фьюзы на использование кварцевого резонатора. Для этого запустим PonyProg, выберем Command – Security and Configuration Bits… и выставим их также как и на картинке (Внимание, актуально только для mega 8, у других моделей микроконтроллеров другая комбинация, указана в даташите)


--------
GroverSuper.ucoz.net - мои странички.
 
SpaceДата: Вторник, 26.02.2008, 13:31 | Сообщение # 4








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Ну и как помогло?
 
GroverДата: Среда, 05.03.2008, 09:04 | Сообщение # 5








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
Помогло.
PonyProg
ATmega8
кварц на 8МГц

Всё работает - проверено!

Прикрепления: 6044576.png (9.3 Kb)


--------
GroverSuper.ucoz.net - мои странички.
 
LesДата: Пятница, 14.03.2008, 21:50 | Сообщение # 6








Группа: Удаленные
Grover, а если не ставить фьюзов или они вообще стандартно уже стоят(заводские), то возможно, что программа будет не правильно работать или вообще с глюками?
 
GroverДата: Суббота, 15.03.2008, 11:41 | Сообщение # 7








Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
да.
заводкие настройки заставляют МК работать от внутреннего генератора (mega8 1МГц)
если в компиляторе ты указал работать от 8МГц, от все delay_xx будут работать не правильно!!!
так как в формуле подсчета количества пустых операций используется тактовая часота.

если фьюзы не прошиты (заводские настройки), то подключили кварц или нет пофиг - схема работает от внутреннего генератора. а вот частоту можно посмотреть в даташите. я знаю : mega8 - 1МГц, tiny15 - 1,4 МГц


--------
GroverSuper.ucoz.net - мои странички.
 
Bass85Дата: Воскресенье, 01.03.2009, 15:24 | Сообщение # 8








Зарегистрирован 12.02.2009
Группа: Опытные
Сообщений: 422
Статус: Offline
Кварц нужен если у вас есть обмен по юарту или и2с а если нет то вполне достаточно внутреннего генератора просто в компиляторе нужно правильно указать частоту, и внутренний тоже можно настроить на 8мГц.
и чуть не забыл когда работает кварц то это можна увидить осцылографом или частотомером на ножке кварца wink


Сообщение отредактировал Bass85 - Воскресенье, 01.03.2009, 15:28
 
BigBotДата: Четверг, 25.06.2009, 23:36 | Сообщение # 9








Зарегистрирован 29.12.2008
Группа: Новички
Сообщений: 7
Город: Кишинев
Статус: Offline
Привет
У меня проблема , надеюсь поможите.
МК ATMega 8 все прекрасно работало прошивался отлично пока я не решил прошить фузы или фьюзы с помощью лошадки .
установил три галочки:
SUTO
BOOTSZ1
BOOTSZO

и прошил , теперь AVR studio ,Pony Prog
не видят мой МК
кстати у меня самый простой программатор ,через LPT порт , + четыре резистора
Какой нужно сделать программатор чтоб работал с теми фузами которые я выставил.
Помогите плиз
здесь фотка с фузами которые я выставил

Прикрепления: 4677842.png (9.3 Kb)


Кушайте петрушку... да Молдове тоже надо экономику поднимать!!!
-=BigBot=-
 
BigBotДата: Четверг, 25.06.2009, 23:37 | Сообщение # 10








Зарегистрирован 29.12.2008
Группа: Новички
Сообщений: 7
Город: Кишинев
Статус: Offline
вот мои прогроматор

Прикрепления: 0735275.gif (13.3 Kb)


Кушайте петрушку... да Молдове тоже надо экономику поднимать!!!
-=BigBot=-
 
Rus}{acKДата: Четверг, 30.07.2009, 11:40 | Сообщение # 11








Язык программированя: Из основных C#, Delphi
Зарегистрирован 30.07.2009
Группа: Новички
Сообщений: 7
Город: Нижний Новгород
Статус: Offline
Quote (BigBot)
У меня проблема , надеюсь поможите. МК ATMega 8 все прекрасно работало прошивался отлично пока я не решил прошить фузы или фьюзы с помощью лошадки . установил три галочки:

Сейчас тебе поможет только параллельный программатор...

Кстати, если пользуетесь простым последовательным программатором, то лучше использовать uniprof.

P.S.
Pony Prog фъюзы выставляет с точностью на оборот, т.е. если галочка стоит значит фъюз снят и наоборот....

 
DeepBlackДата: Суббота, 01.08.2009, 20:45 | Сообщение # 12








Язык программированя: C/C++
Зарегистрирован 27.07.2009
Группа: Модераторы
Сообщений: 189
Город: Зеленоград
Статус: Offline
Значит так, проверить как контроллер использует кварц, можно если пальцем замкнуть контакты от кварца. Если он-таки используется процессы пойдут медленнее. Наглядно просматривается, если в устройстве используется динамическая индикация или мигающий светодиод. Замедлится резко, и чем сильнее давишь, тем сильнее.
По поводу Fuse bits. Экспериментальным путем установил, что для нормальной работы устройства (в т.ч. для использования кварца) надо поставить галочки в следующих битах (занулить их):
SUT0
SUT1
BOOTSZ0
BOOTSZ1
CKOPT (если не ошибаюсь, этот для кварца)

Настроено для работы с USARTом и таймерами. Все работает. Если не пойдет перепроверьте схему!

 
  • Страница 1 из 1
  • 1
Поиск: