реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> не заводится мега128, прогу пишу и читаю, а ногами не дрыгает : (
d71
сообщение Apr 23 2007, 15:32
Сообщение #1


Частый гость
**

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



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


--------------------
нет ничего невозможного, есть трудные пути... других не ищем
Go to the top of the page
 
+Quote Post
=GM=
сообщение Apr 23 2007, 16:28
Сообщение #2


Ambidexter
*****

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



Цитата(d71 @ Apr 23 2007, 11:32) *
unsure.gif
странная ситуация, мега128, питание 3.5 в, avreal32 и пушу и читаю память

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

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

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

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


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
GDI
сообщение Apr 23 2007, 16:30
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Потому , небось и не работает, что нету этого while(1);


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Apr 23 2007, 18:10
Сообщение #4


Гуру
******

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



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



2 d71:
Цитата
на плате на ногах ничего...
Ничего не может быть smile.gif . Чего то быть должно


--------------------
Go to the top of the page
 
+Quote Post
_Sam_
сообщение Apr 23 2007, 19:48
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031



m103c наверное надо в 1 установить.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Apr 24 2007, 08:17
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата
m103c наверное надо в 1 установить

тем самым включить совместимость с Мега103. Зачем???
Go to the top of the page
 
+Quote Post
Guest_=AVR=_*
сообщение Apr 24 2007, 08:59
Сообщение #7





Guests






Установка М103С в единицу ОТКЛЮЧАЕТ режим совместимости с М103, а не включает его. Фузы в AVR считаются "прошитыми", когда в них ноль, а не единица
Go to the top of the page
 
+Quote Post
Amper25
сообщение Apr 24 2007, 08:59
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



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

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

И еще если пользуешся IAR-ом то посмотри во что компилируется проект( Debug или Release.)
Для записи необходим Release.
Go to the top of the page
 
+Quote Post
Igor26
сообщение Apr 24 2007, 09:07
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



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

Сорри. Ошибся.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Apr 24 2007, 09:09
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



После while(1) не забудь _WDR(), в 128 приходилось на кривой WDT налетать, у Атмела все может быть.
Go to the top of the page
 
+Quote Post
Guest_=AVR=_*
сообщение Apr 24 2007, 09:12
Сообщение #11





Guests






А можно поподробней и с фактами про "на кривой WDT налетать" и про "у Атмела все может быть"?
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Apr 24 2007, 09:32
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



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





Guests






Атмел обычно не стесняется действительно встречающуюся кривизну ранних ревизий описывать в Errata, которая теперь включается в оперативно обновляемые даташиты. А 99% нареканий на "неотключаемый" WDT происходят от читания ДШ по диагонали и уверенности в том, что для отключения WD достаточно просто не прошивать фуз WDTON
Go to the top of the page
 
+Quote Post
Old1
сообщение Apr 24 2007, 11:06
Сообщение #14


Знающий
****

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



Цитата(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 отключите...
Go to the top of the page
 
+Quote Post
_Sam_
сообщение Apr 24 2007, 11:15
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031



если оставить m103=0, то и в компиляторе надо устанавливать m103, а не m128.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016