|
не заводится мега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 отключите...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|