ogogogogogogogogogo
Apr 15 2006, 20:02
Писал одну программулину - долго не мог понять причину неработоспособности, наконец выяснил - результат работы функции delay_ms(100) не соответствует истине. На самом деле, задержка была где-то 400 мс. Кварц на 4 МГц, в CodeVision в свойствах указана частота 4 МГц. Однако такая вот проблема. Я поуменьшал задерки в 4 раза - микросхема, управляемая контроллером заработала, однако с глюками, причина которых скорее всего тоже во временных интервалах.
Что скажете?
че-то я такого не замечал,скорее с кварцем что-то не то.Для проверки напишите на асме программку
дерганья портом 0-1 в цикле и проверьте реальное время выполнения частотомером с расчетным для данного кварца.
А еще скорее Мега работает на внутреннем RC генераторе.
Частота у него как раз в 4 раза меньше...
Ну и статистика сообщений этого раздела форума это подтверждает.
CKSEL частенько забывают прошивать.
Да,ms1 скорее всего прав.и проверить просто-выпаять кварц.
ogogogogogogogogogo
Apr 16 2006, 04:58
эээээ.... зажил я CKSEL - контроллер вообще перестал программироваться - при стирании AvrealShell пишет - "микросхема не отвечает"...
Цитата(ogogogogogogogogogo @ Apr 16 2006, 08:58)

эээээ.... зажил я CKSEL - контроллер вообще перестал программироваться - при стирании AvrealShell пишет - "микросхема не отвечает"...
а вы что,от фонаря фьюзы устанавливали-для 4 мгц cksel0-3 и ckopt все unprogramming(1),sut0-1-какой режим старта и BODа вам нужен.
А вы чего зашили?
ogogogogogogogogogo
Apr 16 2006, 05:48
блин, дурак я... вычитал где-то, что надо ставить "F" для частот больше 3 МГц, ну и поставил...
Если честно, про режим старта и BOD первый раз слышу...
Но это не мешало мне раньше запускать контроллер..
Мне бы все как раньше, по умлочанию, но чтобы контроллер от кварца работал...
В параметрах для ATMega8 есть CKSEL (без нуля), параметра SUT0 нет. ЧТо прикажете делать?
P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием?
defunct
Apr 16 2006, 05:59
Цитата(ogogogogogogogogogo @ Apr 16 2006, 08:48)

ЧТо прикажете делать?
Очень внимательно читать даташит. ВЕСЬ, а не только страничку с УГО.
Цитата
P.S. для того чтобы вывести контроллер из комы нужно наверное воспользоваться внешним тактированием?
вероятно да, если Вы там не установили RSTDSBL=0.
иначе только высоковольным программатором.
где-то вычитал-это где?у разных камней разный набор перифериии и соответсвено,свои заморочки,и
datasheet тут абсолютно необходим и при работе тоже.
а насчет вывода из комы-почитайте в форуме про avreal,там есть воможность вывода из комы без пода-
чи внешних клоков,а использовать линию led.
ogogogogogogogogogo
Apr 16 2006, 06:50
Вывел из комы с помощью XTAL от AVReal.
Почитал даташит от atmel - слабо там написано про fuses. В частности про то как установить 4 МГц. В форуме в теме "Тактирование mega8" тоже этого нет.
Может быть кто-то на память понит как это сделать для Mega8?
Только просьба новичка - попонятней, а то фраза "cksel0-3 и ckopt все unprogramming(1),sut0-1" сбивает с толку...
Поконкретней. Вот как установлены у меня fuses - как прочел их AVreal:
OSCCAL = B0, AF, AD, AE
BLEV = 1
BODEN = 1
SUT = 2
CKSEL = 1
BLB1 = 3
BLB0 = 3
RSTDSBL = 1
WDTON = 1
CKOPT = 1
EESV = 1
BSIZ = 0
BRST = 1
Как поменять значения для mega8 для работы с 4 Мгц ?
defunct
Apr 16 2006, 07:13
CKSEL = 1111
CKSEL = 1110
ogogogogogogogogogo
Apr 16 2006, 07:17
Может я тупой, но как вы представляете себе два значения для одного и того же параметра?
К тому же Avreal выдал следующее: "Value 1111 too large for fuse CKSEL"
Команда для avreal выглядела так:
-p1 +MEGA8 -ab -n -e -fCKSEL=1111 -%
defunct
Apr 16 2006, 07:57
Цитата(ogogogogogogogogogo @ Apr 16 2006, 10:17)

как вы представляете себе два значения для одного и того же параметра?
е-мае..
CKSEL0 = не важно
CKSEL1 = 1
CKSEL2 = 1
CKSEL3 = 1
неужели совсем не судьба в даташит заглянуть (стр. 25)
ogogogogogogogogogo
Apr 16 2006, 08:04
е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.
Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра."
Впрочем спасибо.
Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился...
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:04)

е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.
Неужели вместо этого нельзя сказать : "коллега не обращайте внимание на AVREAL, на самом деле там 4 параметра."
Догадаться, что F (шестнадцатеричное) = 1111 (двоичное), конечно, невозможно ...
defunct
Apr 16 2006, 08:19
Цитата(ogogogogogogogogogo @ Apr 16 2006, 11:04)

е-мае... даташит...
я же писал, что в Avreal для mega8 есть только параметр CKSEL.
Знаете, ведь не все пользуются Avreal,
и что там у него сделано, лично мне фиолетово.
Цитата
Кстати - установка в CodeVision частоты 1 МГц привела к тому, что все работает ))). Эх... а я две недели бился...
Читайте документацию, ее специально пишут, чтобы разработчики не бились 2 недели головой об стену, а прочитали за день-два и все. Тем более, что документация фирмы Atmel отличается от других особой ясностью и простым английским.
ogogogogogogogogogo
Apr 16 2006, 08:22
Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно.
Кстати я повторно попробовал F - результат тот же.
defunct, будете смеяться, но в оригинальном даташите от Atmel на ATMEGA8 всего 21 страница )))
Цитата(ogogogogogogogogogo @ Apr 16 2006, 12:22)

Прочитать, что F я уже вводил, и что это ввело в контроллер в кому, конечно тоже невозможнно.
Кстати я повторно попробовал F - результат тот же.
Если не работает с CKSEL=F, попробуйте поставить CKOPT=0, это увеличит мощность генератора, может помочь, если кварц - г...
Судя по тому, что программируется AVREAL c внешним тактом, проблема в цепи кварца или в нем самом. Какие стоят конденсаторы - нужны около 20 пф при 4 Мгц.
Осциллограф есть ? Посмотрите прям на кварце сигнал.
И вопрос-а почему вы не пользуетесь встроееным программатором CV?ИМХО,нормальный программатор и не надо из среды в среду скакать.
ILYCHOFF
Apr 17 2006, 06:27
ogogogogogogog зря вы так упераетесь Вам уже столько всего наговорили, что можно было всю Вашу Мегу вдоль и поперк прошить, а если не хотите читать даташит, то купите книгу Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" И если вы пишите в CV почему бы его программатором и не зашивать??
ogogogogogogog зря вы так упераетесь Вам уже столько всего наговорили, что можно было всю Вашу Мегу вдоль и поперк прошить, а если не хотите читать даташит, то купите книгу Евстифеева "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" И если вы пишите в CV почему бы его программатором и не зашивать??
SasaVitebsk
Apr 17 2006, 09:39
Кстати по поводу AVREAL.

Опять таки если не хотите читать доку, то можно его запустить с ключём "-?" и прочитать с экрана. А если необходима информация по фузам (правильность написания) то можно запустить вот так:
avreal32 +mega8 -? и прочитаешь следующее
avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr
v1.25rev4 (Mar 24 2006 08:54:51)
http://www.ln.com.ua/~real/avrealbug-reports, suggestions and so on mail to avreal@real.kiev.ua
Command:
+mega8 -?
MEGA8 fuse list
Fuse programmed state is 0, use ON or OFF aliases if you not shure
BODLEVEL = 0 or 1 - Brown-out level
(BLEV)
BODEN = 0 or 1 - Brown-out detect
SUT = 0 to 3 - Start-up timer
CKSEL = 0 to F - Clock selection
BLB1 = 0 to 3 - Disable SPM/LPM in boot section (BLB12,BLB11)
BLB0 = 0 to 3 - Disable SPM/LPM in application section (BLB02,BLB01)
RSTDISBL = 0 or 1 - Reset pin disable
(RSTDSBL)
WDTON = 0 or 1 - WDT enable
CKOPT = 0 or 1 - Clock option
EESAVE = 0 or 1 - Keep EEPROM @ erase
(EESV)
BOOTSZ = 0 to 3 - Boot section size
(BSIZ)
BOOTRST = 0 or 1 - Reset to boot block
(BRST)
For short help type
avreal -h
ogogogogogogogogogo
Apr 17 2006, 18:45
Ну так выяснилось, что дело не в доках. У меня кварц был битый. От этого после прошивки CKSEL, которая удалась без рекомендуемых вами мануалов, контроллер и не запускался. И как раз об этой проблеме ни в одной доке не прочитаешь.
За советы конечно спасибо, но четко бросается в глаза то что одни люди вникают в проблему, вспоминают свои "грабли", а другие мудрствуют лукаво и отсылают к докам, безрезультатность поиска ответа в которых (в данном конкретном случае) считают ламерством.
Ай, Дефункт, ай маладца!
Фигня, говорит, твой summary, качай полное руководство мое! на 300 страницах!!! И дает мне ссылку на пресловутый summary на 22 страницах!
А еще меня мануалы учат читать.
beer_warrior
Apr 17 2006, 19:27
Кто людям помогает - тот тратит время зря
beer_warrior,это точно
ogogogogogogogogogo-не хами,люди тебе честно помочь пытались,если ты не можешь отличить
полный даташит от усеченного,лежащих рядом,это твои проблемы.
ILYCHOFF
Apr 18 2006, 08:30
ogogogogogogogog[b] Если Вы не будете читать доки то вы ничего кроме этой Вашей проблемы с кварцем и не решите, а люди на Вас только время зря тратили....
defunct
Apr 18 2006, 10:57
Цитата(ogogogogogogogogogo @ Apr 17 2006, 21:45)

Ай, Дефункт, ай маладца!
Фигня, говорит, твой summary, качай полное руководство мое! на 300 страницах!!! И дает мне ссылку на пресловутый summary на 22 страницах!
Искрене прошу прощения. Допустил чисто механическую ошибку при копировании ссылки.
А вам желаю удачи. Думаю полный даташит вы уже нашли самостоятельно.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.