Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: не заводится мега128
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
d71
unsure.gif
странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память
фузы:
Код
Fuses
  OSCCAL        = 9E, 9E, 98, 9A
  BODLEVEL      = 0            
  BODEN         = 0            
  SUT           = 2            
  CKSEL         = 1            
  BLB1          = 3
  BLB0          = 3
  OCDEN         = 1
  JTAGEN        = 0
  CKOPT         = 1
  EESAVE        = 1
  BOOTSZ        = 0
  BOOTRST       = 1
  M103C         = 0
  WDTON         = 1


программа:
Код
#include <iom128.h>
#include <inavr.h>

void main (void){

  DDRF=0xff;
  PORTF=0xff;
  
  DDRB=0xff;
  PORTB=0xff;
  
  DDRA=0xff;
  PORTA=0xff;
  
  DDRC=0xff;
  PORTC=0xff;
  
  DDRE=0xff;
  PORTE=0xff;

  DDRD=0xff;
  PORTD=0xff;
  
  DDRG=0xff;
  PORTG=0xff;
}


в эмуляторе (протэус) единички стоят на ногах

на плате на ногах ничего...
---
подскажите что-нибудь. а то голову сломал sad.gif
=GM=
Цитата(d71 @ Apr 23 2007, 11:32) *
unsure.gif
странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память

в эмуляторе (протэус) единички стоят на ногах

на плате на ногах ничего...
---
подскажите что-нибудь. а то голову сломал sad.gif

А если поставить PORTA=0x00, будут нули?

И поставьте оператор while(1); в конце main на всякий случай, а то непонятно, что ваша программа делает после выполнения последнего оператора PORTG=0xff;
GDI
Потому , небось и не работает, что нету этого while(1);
prottoss
Цитата(GDI @ Apr 23 2007, 21:30) *
Потому , небось и не работает, что нету этого while(1);
С какой стати??? После выполнения кода МК сам обнуляет порты???



2 d71:
Цитата
на плате на ногах ничего...
Ничего не может быть smile.gif . Чего то быть должно
_Sam_
m103c наверное надо в 1 установить.
Igor26
Цитата
m103c наверное надо в 1 установить

тем самым включить совместимость с Мега103. Зачем???
=AVR=
Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица
Amper25
Нет, с фьюс битами все правильно.
Действительно на всякий случай надо поставить while(1); в конце проги.

Кроме того, советую внимательно просмотреть - а что именно заливается в MCU.
А то можно лить не тот файл который компилиш. biggrin.gif
Было знаете несколько раз.

И еще если пользуешся IAR-ом то посмотри во что компилируется проект( Debug или Release.)
Для записи необходим Release.
Igor26
Цитата
Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица

Сорри. Ошибся.
VladimirYU
После while(1) не забудь _WDR(), в 128 приходилось на кривой WDT налетать, у Атмела все может быть.
=AVR=
А можно поподробней и с фактами про "на кривой WDT налетать" и про "у Атмела все может быть"?
VladimirYU
Два года назад, попались кристаллы, которые не реагировали на WDT. Т.е. его ни как было не запретить пришлось везде _WDT() вставлять. Не смертельно, но все же. Те же самые меги64 вели себя, согласно DS. Покупал микросхемы в ЭФО СПб. Тему обсуждал и Игорем Кривченко ( менеджер по Атмелу ЭФО), Атмел ничего не ответил. Сейчас похожая история с AT90PWM3, здесь эту тему уже поднимал не только я. Атмел опять молчит. Коллеги проверили мой код, вроде все чисто. Кристалл то удобный для приводческих приложений, но похоже тот ревижен, который достался еще сырой. Но это ИМХО.
=AVR=
Атмел обычно не стесняется действительно встречающуюся кривизну ранних ревизий описывать в Errata, которая теперь включается в оперативно обновляемые даташиты. А 99% нареканий на "неотключаемый" WDT происходят от читания ДШ по диагонали и уверенности в том, что для отключения WD достаточно просто не прошивать фуз WDTON
Old1
Цитата(d71 @ Apr 23 2007, 15:32) *
unsure.gif
странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память
фузы:
Код
Fuses
...
  BODLEVEL      = 0            
  BODEN         = 0            
...


...

на плате на ногах ничего...
---
подскажите что-нибудь. а то голову сломал sad.gif

При таких фузах (BOD включен и уровень срабатывания 4В) и таком питании мега судя по всему находится в ресете... Если Вам нужен BOD то перепрошейте BODLEVEL в 1, ну или совсем BOD отключите...
_Sam_
если оставить m103=0, то и в компиляторе надо устанавливать m103, а не m128.
=AVR=
Цитата(Old1 @ Apr 24 2007, 12:06) *
ну или совсем BOD отключите...

Совсем BOD отключать не следует НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ. Точка.
=GM=
OFF
Цитата(VladimirYU @ Apr 24 2007, 05:32) *
Сейчас похожая история с AT90PWM3, здесь эту тему уже поднимал не только я. Атмел опять молчит. Коллеги проверили мой код, вроде все чисто. Кристалл то удобный для приводческих приложений, но похоже тот ревижен, который достался еще сырой. Но это ИМХО.

Это вы говорите об управлении двигателем с помощью кнопок RUN и STOP с антидребезгином? Просто интересно узнать, чем там дело кончилось.
VladimirYU
Пока ничем, так причину и не понял. Пока есть возможность буду копаться дальше. Прицепил к нему JTAG MKII так виснет зараза, что из под IAR 4.12, что из под Студии.
Old1
Цитата(=AVR= @ Apr 24 2007, 11:26) *
Совсем BOD отключать не следует НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ. Точка.

Я бы не стал утверждать так безапелляционно. ИМХО задачи лучше разделить: сначала подрыгать ногами при отключенном BOD, WDT и т.п, а затем убедившись что все работает играться с тем же BOD...
=AVR=
Играться с BOD не следует - его надо включить и забыть. Еще одна точка, обсуждать не надо.
prottoss
Цитата(Amper25 @ Apr 24 2007, 13:59) *
И еще если пользуешся IAR-ом то посмотри во что компилируется проект( Debug или Release.)
Для запис необходим Release.
Бред - прошивать можно хоть Release хоть Debug версию прошивки, у нормальных программистов, обычно, обе версии работают smile.gif
Сергей Борщ
Цитата(=AVR= @ Apr 24 2007, 11:56) *
Играться с BOD не следует - его надо включить и забыть. Еще одна точка, обсуждать не надо.
Конечно, спорить с божеством - грех, но все же интересно - зачем производитель сделал BOD отключаемым, если отключать его нельзя ни при каких обстоятельствах?
=AVR=
Объяснить разницу между твоим "нельзя" и моим "не следует", или осилишь самостоятельно?
Сергей Борщ
Цитата(=AVR= @ Apr 24 2007, 14:48) *
Объяснить разницу между твоим "нельзя" и моим "не следует", или осилишь самостоятельно?
Снизойди, никак не осилю, чем
Цитата
не следует НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ
эквивалентно "можно".
IgorKossak
Цитата(=AVR= @ Apr 24 2007, 12:56) *
Играться с BOD не следует - его надо включить и забыть. Еще одна точка, обсуждать не надо.

Позволю себе не только обсудить, но и возразить.
Отключать BOD не только можно но, бывает в сверхмалопотребляющих приложениях, даже нужно.
Такие рекомендации содержатся в тех. документации от производителя.
Цитата
If the Brown-out Detector is not needed in the application, this module should be turned
off. If the Brown-out Detector is enabled by the BODEN fuse, it will be enabled in all
sleep modes, and hence, always consume power. In the deeper sleep modes, this will
contribute significantly to the total current consumption. Refer to “Brown-out Detector”
on page 47 for details on how to configure the Brown-out Detector.

Разумеется, в таких случаях применяется внешний сверхмалопотребляющий супервайзер. Но на этапе отладки и это не обязательно, т. к. есть возможность сбросить вручную/программатором/эмулятором.
=AVR=
При ответе на вопрос я всегда стремлюсь предварительно оценить уровень подготовки вопрошающего, чтобы отвечать на понятном ему уровне и не загромождать ответ далекими от такового уровня абстракциями. Для того уровня, на котором был задан корневой вопрос, я еще раз повторю: играться с BOD не следует - его надо включить и забыть.
IgorKossak
Тяжёлый случай.
Ну раз на то пошло, то запрограммируйте BOD на 2.6V.
И работать должно и =AVR= доволен будет. wink.gif
=GM=
Цитата(Сергей Борщ @ Apr 24 2007, 12:36) *
Снизойди, никак не осилю, чем эквивалентно "можно".

Вот, Сергей, вроде бы вы прижали АВРа в угол, ан нет, вывернулся и ушёл. Хорош! АВР всем нам продемонстрировал образец классической демагогии(:-). Чем-то напоминает мне нашего последнего генсека: "товарищ Гдлян, вопрос решён!", а перед этим клятвенно бил себя в грудь и говорил: "да вы что! Мы обязательно рассмотрим ваш вопрос!"
=AVR=
Моя категорическая рекомендация остается в силе. Объяснять опытным необходимость применения BOD, развязывающих конденсаторов, и коротких дорожек к кварцу - не собираюсь, чтобы не прослыть еще бОльшим демагогом. Ну а тем новичкам, которые будут продолжать бомбить все конфы своими "Помогите! Мега через раз стартует, через два виснет, а через три - стирает свою Flash!", надеюсь, эти опытные не забудут сказать "надо было BOD включать, как говорил один демагог" smile.gif
IgorKossak
Господа, давайте будем толерантными и не переходить на личности и если у автора темы остались вопросы - сконцентрируемся на них.
Кстати, если уж быть последовательными до конца, то я скажу, что выпуская кассовые аппараты, промышленные контроллеры и медицинское оборудование уже очень долгое время и в огромных количествах мы довольно часто позволяли себе отключать BOD следуя рекомендациям производителя для снижения потребления в спящем режиме. И если что и случалось, то уж по крайней мере не из-за этого. Проектирование любого изделия это сложная КОМПЛЕКСНАЯ задача и утверждать что-то весьма категорично не стоит.
rezident
Цитата(IgorKossak)
Отключать BOD не только можно но, бывает в сверхмалопотребляющих приложениях, даже нужно.
Такие рекомендации содержатся в тех. документации от производителя.

Вот же блин, а, например, в MSP430 BOR неотключаемый. cranky.gif
Что, впрочем, позволяет стартовать ему при любой скорости нарастания напряжения питания.
=GM=
Интересная картина выявляется. Один человек из двенадцати, принявших участие в обсуждении ветки, а именно Old1 находит ошибку, вот его пост
Цитата(Old1 @ Apr 24 2007, 09:49) *
При таких фузах (BOD включен и уровень срабатывания 4В) и таком питании мега судя по всему находится в ресете... Если Вам нужен BOD то перепрошейте BODLEVEL в 1, ну или совсем BOD отключите...

Тут же другой участник, АВР, заявляет, что "совсем BOD отключать" категорически нельзя, и уводит обсуждение в сторону. Old1 пытается объяснить, зачем так делать
Цитата(Old1 @ Apr 24 2007, 09:49) *
Я бы не стал утверждать так безапелляционно. ИМХО задачи лучше разделить: сначала подрыгать ногами при отключенном BOD, WDT и т.п, а затем убедившись что все работает играться с тем же BOD...

На это следует категорическое НИЗЗЯ всё того же участника АВРа. И вот каковы его пояснения.
Цитата(=AVR= @ Apr 24 2007, 15:08) *
При ответе на вопрос я всегда стремлюсь предварительно оценить уровень подготовки вопрошающего, чтобы отвечать на понятном ему уровне и не загромождать ответ далекими от такового уровня абстракциями. Для того уровня, на котором был задан корневой вопрос, я еще раз повторю: играться с BOD не следует - его надо включить и забыть

АВР, уважаемый, это не был КОРНЕВОЙ ВОПРОС и он не был ЗАДАН, как вы хотите представить, это был качественный ОТВЕТ участника Old1, в сущности это был ответ на вопрос автора ветки и решение всех его текущих проблем. А вот ВАШ пост - это ещё один пример демагогии в этой ветке. Давайте заканчивайте с этим, лично я заинтересован сохранить данный форум таким, как он есть сейчас, да, вот так, ни больше и ни меньше.

Ну а тут всё в кучу.
Цитата(=AVR= @ Apr 24 2007, 16:28) *
Моя категорическая рекомендация остается в силе. Объяснять опытным необходимость применения BOD, развязывающих конденсаторов, и коротких дорожек к кварцу - не собираюсь, чтобы не прослыть еще бОльшим демагогом. Ну а тем новичкам, которые будут продолжать бомбить все конфы своими "Помогите! Мега через раз стартует, через два виснет, а через три - стирает свою Flash!", надеюсь, эти опытные не забудут сказать "надо было BOD включать, как говорил один демагог" smile.gif

BOD - это встроенный сброс, ничего больше. Если питание плохое, то BOD только усугубит положение, начнёт сбрасываться когда надо и не надо, и на мой взгляд, может только затемнить картину произошедшего.
=AVR=
[ALL DELETED]
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.