Как убедиться, что МК пользуется кварцем???
|
|
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
| Извини, но в этом помочь не могу. Я с таймерами ни когда не заморачивался и так глубоко их не изучал
|
|
| |
Grover | Дата: Вторник, 26.02.2008, 08:14 | Сообщение # 3 |
Зарегистрирован 04.02.2008
Группа: Опытные
Сообщений: 130
Город: Воронеж
Статус: Offline
| Вот, что я нашел в соседнем топике 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МГц Всё работает - проверено!
-------- 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мГц. и чуть не забыл когда работает кварц то это можна увидить осцылографом или частотомером на ножке кварца
Сообщение отредактировал 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 порт , + четыре резистора Какой нужно сделать программатор чтоб работал с теми фузами которые я выставил. Помогите плиз здесь фотка с фузами которые я выставил
Кушайте петрушку... да Молдове тоже надо экономику поднимать!!! -=BigBot=-
|
|
| |
BigBot | Дата: Четверг, 25.06.2009, 23:37 | Сообщение # 10 |
Зарегистрирован 29.12.2008
Группа: Новички
Сообщений: 7
Город: Кишинев
Статус: Offline
| вот мои прогроматор
Кушайте петрушку... да Молдове тоже надо экономику поднимать!!! -=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ом и таймерами. Все работает. Если не пойдет перепроверьте схему!
|
|
| |