Перейти к содержанию
    

:unsure:

странная ситуация, мега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;
}

 

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

 

на плате на ногах ничего...

---

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:unsure:

странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память

 

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

 

на плате на ногах ничего...

---

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

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

 

И поставьте оператор while(1); в конце main на всякий случай, а то непонятно, что ваша программа делает после выполнения последнего оператора PORTG=0xff;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому , небось и не работает, что нету этого while(1);
С какой стати??? После выполнения кода МК сам обнуляет порты???

 

 

 

2 d71:

на плате на ногах ничего...
Ничего не может быть :) . Чего то быть должно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость =AVR=

Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, с фьюс битами все правильно.

Действительно на всякий случай надо поставить while(1); в конце проги.

 

Кроме того, советую внимательно просмотреть - а что именно заливается в MCU.

А то можно лить не тот файл который компилиш. :biggrin:

Было знаете несколько раз.

 

И еще если пользуешся IAR-ом то посмотри во что компилируется проект( Debug или Release.)

Для записи необходим Release.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица

Сорри. Ошибся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После while(1) не забудь _WDR(), в 128 приходилось на кривой WDT налетать, у Атмела все может быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Два года назад, попались кристаллы, которые не реагировали на WDT. Т.е. его ни как было не запретить пришлось везде _WDT() вставлять. Не смертельно, но все же. Те же самые меги64 вели себя, согласно DS. Покупал микросхемы в ЭФО СПб. Тему обсуждал и Игорем Кривченко ( менеджер по Атмелу ЭФО), Атмел ничего не ответил. Сейчас похожая история с AT90PWM3, здесь эту тему уже поднимал не только я. Атмел опять молчит. Коллеги проверили мой код, вроде все чисто. Кристалл то удобный для приводческих приложений, но похоже тот ревижен, который достался еще сырой. Но это ИМХО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость =AVR=

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:unsure:

странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память

фузы:

Fuses
...
  BODLEVEL      = 0            
  BODEN         = 0            
...

 

...

 

на плате на ногах ничего...

---

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

При таких фузах (BOD включен и уровень срабатывания 4В) и таком питании мега судя по всему находится в ресете... Если Вам нужен BOD то перепрошейте BODLEVEL в 1, ну или совсем BOD отключите...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если оставить m103=0, то и в компиляторе надо устанавливать m103, а не m128.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...