Мелкие вопросы по МК и ПЛИС.
-
inventives
- Родился
- Сообщения: 3
- Зарегистрирован: Пт июн 01, 2007 11:34:06
Piroman17 писал(а):ATmega16:
Обязательно ли около кварца ставить конденсаторы?
Включал AT2313 с кварцем на XTALT1 XTALT2, прекрасно генерирует без всяких кондеров, хорошая форма сигнала без дребезга.
А вот с ATmega16 проблема. Взял 2 новых МСХ, еще без программирования, задействовал XTALT1 XTALT2 (12 и 13 pin на DIP40), +5в на VCC, пробывал и с С1, С2=33пф, и без них, поменял 4 рабочих кварца - обе МСХ молчат, как партизаны на допросе!
Судя по блок-схемме на кристалл, никакого запрета на генерацию нет.
В чем дело ????
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Я на 100% не уверен, но кажется, все меги, которые имеют встроенный RC-генератор, с завода выходят настроенными на работу от него, т.е. внешний кварц им не нужен (грубо говоря, он отключен). Т.е. на самом кварце генарции не будет, даже если он верно подключен. Если прошить соот ветствующие fuse-биты, то активируется внешний кварц - тогда и генерация появится (но сделать это надо правильно, о чем есть отдельная тема)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
-
inventives
- Родился
- Сообщения: 3
- Зарегистрирован: Пт июн 01, 2007 11:34:06
ARV писал(а):все меги, которые имеют встроенный RC-генератор, с завода выходят настроенными на работу от него, т.е. внешний кварц им не нужен (
Спасибо за ответ. Похоже, что это действительно заводская настройка. По питанию видно, что идут небольшие пульсации (50...100 мв) на частоте около 1 МГц. Скорее всего и есть работа встроенного генератора.
Доброго времени суток. Есть у меня вопрос по прерыванию по таймеру на atmega16. Установил компоратор, запускаю таймер, запускаю дебаггинг, выполняю прогу по шагам, дохожу до места, где при совпадении значения компоратора и таймера должно сработать прерывание, но оно не срабатывает. Флаг разрешения прерывания "Timer1_comp1" в бите TIMSK "OCIE1A" устан(в отличие от тини2313 он не в пятом, а в четвёртом бите TIMSK. Радосно исправил ошибку, но программа не заработалo
. ). Поглядел в даташите, там голову марочали на неруском каким-то флагом OCF1A в регистре TIFR, долго любовался на ее, в конце канцов понял, что этот флажок править бессмысленно, он оказывается сам включается при уходе в прерывание, и сам выключается при возврате... И правда, при совпадении компоратора с таймером этот флажок загарается, но ХОТЬ УБЕЙСЯ, в прерывание не идёт
. Но зато как только значение таймера становится больше того, что в компараторе, программа идёт в прерывание резета
... Стал лазить по интернету, никто не может дать обьяснения, ктота гаварит, что это баг отладчика(зашил логически правильную программу, не заработала), другие ссылаются на свои программы, в которых они таких проблемм не имели, третьи, на документацию(но ее я исползал на коленках ;(. ) Пишу и отлаживаю в авр студио 4,2. Аналогичный кусок кода работает на тини 2313 (писал по урокам этого сайта)
ХЕЕЛП!, я в тупике кажется выдавил со всех поисковиков что можно, но но вызвать прерывания по таймеру так и не смог..
Вот вам кусоч из программы. Где собака порылась?.
----------
ldi reg,0b00010000
out TIMSK,reg
ldi reg,0b00000101
out TCCR1B,reg
ldi reg,0x01
out OCR1AH,reg_noll
out OCR1AL,reg
out TCNT1H,reg_noll
out TCNT1L,reg_noll
sei
ХЕЕЛП!, я в тупике кажется выдавил со всех поисковиков что можно, но но вызвать прерывания по таймеру так и не смог..
Вот вам кусоч из программы. Где собака порылась?.
----------
ldi reg,0b00010000
out TIMSK,reg
ldi reg,0b00000101
out TCCR1B,reg
ldi reg,0x01
out OCR1AH,reg_noll
out OCR1AL,reg
out TCNT1H,reg_noll
out TCNT1L,reg_noll
sei
VIY писал(а):Доброго времени суток. Есть у меня вопрос по прерыванию по таймеру на atmega16. Установил компоратор, запускаю таймер, запускаю дебаггинг, выполняю прогу по шагам, дохожу до места, где при совпадении значения компоратора и таймера должно сработать прерывание, но оно не срабатывает. Флаг разрешения прерывания "Timer1_comp1" в бите TIMSK "OCIE1A" устан(в отличие от тини2313 он не в пятом, а в четвёртом бите TIMSK. Радосно исправил ошибку, но программа не заработал
Я ОЧЕНЬ начинающий, хоть и стыдно, но думаю, мне прастительно
Дело в том, что я взял за шаблон список прерывании от той тиньки, а у меги даже нет такова прерывания!!! :-/.. Скока раз мне гаварили "читай мануалю!", неслухался!.. :-/ Кароче, нужно быть внимательным в плане того, с какой микрухой имееш дело, и регистры у них разные, и флаги другие, и прерывания по иному завутся!..
Кстати, это я патаму сообщаю, что не нашол таких советов для мне-подобных чайников, кагда часа 4 осаждал поисковик(а ведь факт, такие проблеммы у многих!).
Это, а список прерываний в мануали нашол...
- Negor
- Вымогатель припоя
- Сообщения: 586
- Зарегистрирован: Ср мар 07, 2007 22:58:02
- Откуда: Черкассы, Украина
- Контактная информация:
На вот этом сайте http://amttel.narod.ru/index.htm есть программатор для COM порта. К слову сказать - это первый программатор, кот-ый заработал у меня(не один из программаторов на LPT у меня не прижился, а пять проводков собирать не хотелось из-за боязни спалить порт в ходе эксперементов)
There is only 10 kind of people: those who understands binary code and those who dont!!!
- tych
- Э...
- Сообщения: 2792
- Зарегистрирован: Ср апр 04, 2007 08:39:14
- Откуда: Москва
- Контактная информация:
VIY писал(а):это я патаму сообщаю, что не нашол таких советов для мне-подобных чайников, кагда часа 4 осаждал поисковик
В моем профиле посмотри.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- voin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Пт ноя 10, 2006 16:50:24
- Откуда: Россия Крым Феодосия
Negor писал(а):На вот этом сайте http://amttel.narod.ru/index.htm есть программатор для COM порта. К слову сказать - это первый программатор, кот-ый заработал у меня(не один из программаторов на LPT у меня не прижился, а пять проводков собирать не хотелось из-за боязни спалить порт в ходе эксперементов)
При желании все спалить можно, я собрал похожий и не парюсь, а вообще можно по идее повесить ограничмтельные резисторы, и все будет ок, не спалиш если монтаж правильный.
Тот кто впереди, всегда боится отстать, - это наш шанс, вот так то.