|
не заводится мега128, прогу пишу и читаю, а ногами не дрыгает : ( |
|
|
|
Apr 23 2007, 15:32
|

Частый гость
 
Группа: Новичок
Сообщений: 91
Регистрация: 24-12-05
Из: г. Благовещенск
Пользователь №: 12 614

|
странная ситуация, мега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; } в эмуляторе (протэус) единички стоят на ногах на плате на ногах ничего... --- подскажите что-нибудь. а то голову сломал
--------------------
нет ничего невозможного, есть трудные пути... других не ищем
|
|
|
|
|
Apr 23 2007, 16:28
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(d71 @ Apr 23 2007, 11:32)  странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память в эмуляторе (протэус) единички стоят на ногах на плате на ногах ничего... --- подскажите что-нибудь. а то голову сломал  А если поставить PORTA=0x00, будут нули? И поставьте оператор while(1); в конце main на всякий случай, а то непонятно, что ваша программа делает после выполнения последнего оператора PORTG=0xff;
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
|
Apr 23 2007, 18:10
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(GDI @ Apr 23 2007, 21:30)  Потому , небось и не работает, что нету этого while(1); С какой стати??? После выполнения кода МК сам обнуляет порты??? 2 d71: Цитата на плате на ногах ничего... Ничего не может быть  . Чего то быть должно
--------------------
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 08:59
|
Guests

|
Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица
|
|
|
|
|
Apr 24 2007, 08:59
|
Местный
  
Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929

|
Нет, с фьюс битами все правильно. Действительно на всякий случай надо поставить while(1); в конце проги. Кроме того, советую внимательно просмотреть - а что именно заливается в MCU. А то можно лить не тот файл который компилиш. Было знаете несколько раз. И еще если пользуешся IAR-ом то посмотри во что компилируется проект( Debug или Release.) Для записи необходим Release.
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 09:12
|
Guests

|
А можно поподробней и с фактами про "на кривой WDT налетать" и про "у Атмела все может быть"?
|
|
|
|
|
Apr 24 2007, 09:32
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Два года назад, попались кристаллы, которые не реагировали на WDT. Т.е. его ни как было не запретить пришлось везде _WDT() вставлять. Не смертельно, но все же. Те же самые меги64 вели себя, согласно DS. Покупал микросхемы в ЭФО СПб. Тему обсуждал и Игорем Кривченко ( менеджер по Атмелу ЭФО), Атмел ничего не ответил. Сейчас похожая история с AT90PWM3, здесь эту тему уже поднимал не только я. Атмел опять молчит. Коллеги проверили мой код, вроде все чисто. Кристалл то удобный для приводческих приложений, но похоже тот ревижен, который достался еще сырой. Но это ИМХО.
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 09:59
|
Guests

|
Атмел обычно не стесняется действительно встречающуюся кривизну ранних ревизий описывать в Errata, которая теперь включается в оперативно обновляемые даташиты. А 99% нареканий на "неотключаемый" WDT происходят от читания ДШ по диагонали и уверенности в том, что для отключения WD достаточно просто не прошивать фуз WDTON
|
|
|
|
|
Apr 24 2007, 11:06
|

Знающий
   
Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095

|
Цитата(d71 @ Apr 23 2007, 15:32)  странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память фузы: Код Fuses ... BODLEVEL = 0 BODEN = 0 ... ... на плате на ногах ничего... --- подскажите что-нибудь. а то голову сломал  При таких фузах (BOD включен и уровень срабатывания 4В) и таком питании мега судя по всему находится в ресете... Если Вам нужен BOD то перепрошейте BODLEVEL в 1, ну или совсем BOD отключите...
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 11:26
|
Guests

|
Цитата(Old1 @ Apr 24 2007, 12:06)  ну или совсем BOD отключите... Совсем BOD отключать не следует НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ. Точка.
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 12:56
|
Guests

|
Играться с BOD не следует - его надо включить и забыть. Еще одна точка, обсуждать не надо.
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 15:48
|
Guests

|
Объяснить разницу между твоим "нельзя" и моим "не следует", или осилишь самостоятельно?
|
|
|
|
|
Apr 24 2007, 16:36
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(=AVR= @ Apr 24 2007, 14:48)  Объяснить разницу между твоим "нельзя" и моим "не следует", или осилишь самостоятельно? Снизойди, никак не осилю, чем Цитата не следует НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ эквивалентно "можно".
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 24 2007, 17:56
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(=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. Разумеется, в таких случаях применяется внешний сверхмалопотребляющий супервайзер. Но на этапе отладки и это не обязательно, т. к. есть возможность сбросить вручную/программатором/эмулятором.
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 18:08
|
Guests

|
При ответе на вопрос я всегда стремлюсь предварительно оценить уровень подготовки вопрошающего, чтобы отвечать на понятном ему уровне и не загромождать ответ далекими от такового уровня абстракциями. Для того уровня, на котором был задан корневой вопрос, я еще раз повторю: играться с BOD не следует - его надо включить и забыть.
|
|
|
|
|
Apr 24 2007, 19:17
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Сергей Борщ @ Apr 24 2007, 12:36)  Снизойди, никак не осилю, чем эквивалентно "можно". Вот, Сергей, вроде бы вы прижали АВРа в угол, ан нет, вывернулся и ушёл. Хорош! АВР всем нам продемонстрировал образец классической демагогии(:-). Чем-то напоминает мне нашего последнего генсека: "товарищ Гдлян, вопрос решён!", а перед этим клятвенно бил себя в грудь и говорил: "да вы что! Мы обязательно рассмотрим ваш вопрос!"
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Guest_=AVR=_*
|
Apr 24 2007, 19:28
|
Guests

|
Моя категорическая рекомендация остается в силе. Объяснять опытным необходимость применения BOD, развязывающих конденсаторов, и коротких дорожек к кварцу - не собираюсь, чтобы не прослыть еще бОльшим демагогом. Ну а тем новичкам, которые будут продолжать бомбить все конфы своими "Помогите! Мега через раз стартует, через два виснет, а через три - стирает свою Flash!", надеюсь, эти опытные не забудут сказать "надо было BOD включать, как говорил один демагог"
|
|
|
|
|
Apr 25 2007, 03:08
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Интересная картина выявляется. Один человек из двенадцати, принявших участие в обсуждении ветки, а именно 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 включать, как говорил один демагог"  BOD - это встроенный сброс, ничего больше. Если питание плохое, то BOD только усугубит положение, начнёт сбрасываться когда надо и не надо, и на мой взгляд, может только затемнить картину произошедшего.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Guest_=AVR=_*
|
Apr 25 2007, 12:17
|
Guests

|
[ALL DELETED]
Сообщение отредактировал IgorKossak - Apr 25 2007, 12:50
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|