Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: помогите! горят AVR-ы!
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Br.Misha
Сдрасте!
Вчера купил себе мегу8, написал прогу для ШИМ чтобы просто поиграться яркостью светодиода, спаял на макетке схему залил прошивку, отсоеденил программатор от МК но светодиод вообще не горел. После этого я написал самую простую программу чтобы просто зажечь светодиоды на порту В и С, но светодиоды на этих лапах всервно не горели. Тут я ещё немного поюзал его но никакого положительного эфекта небыло - прошивался нормально, но не работал. Я решил что МК просто нерабочий. Больше дома у меня ниодной АВР-ки не оставалось. Но я нашел на полке один девайс, котороый я делал для измерения частоты (импульсы на INT1) на 90S2313. включил - работает. Потом мне захотелось сделать чёт прикольное и я прицепил на INT1 ИК приемник. Включил - он не работает. отпаял приемник - тоже не работает. Потом подумал перепрошить МК. Подключил программатор, очистил кристал, залил прошивку, включаю - а оно опять не работает. Я и с этим долго возился и как вы уже догадались, безрезультатно, программатор его видет, нормально заливает прошивку но сам МК не работает. Вот у меня терь возникла мысль что я спалил те МК статикой или паяльником (хотя МК стоял в панельке и прямо ножку той панельки я не паял).

Народ, может кто знает в чем причина? Я полазил по этом форуму и увидел тут несколько оч опытных людей, может в вашей практике тоже такое случалось?
Просто не исключено что у следующего МК который я буду юзать появляться те же симптомы.

Зараней СПАСИБА!!!
kurtis
Микросхемы проходят верификацию после загрузки прошивки? Т.е. прочитать из них что-то можно?
DpInRock
Какие fuses запрограммированы? Какова схема включения?
domowoj
Если программатор нормально прошил МК, то(как сказано ранее) - фузы.
(при условии правильности самой программы)
vvvvv
Если процессор шьется, двести процентов что он рабочий, схему, программу и фюзы в студию.
Mik174
Частая ошибка новичков - неверная запись фузов, определяющих источник тактирования.
При этом контроллер один раз прошивается, после чего не работает прошитая программа и больше не отзывается при программировании - он же не стартовал, т.к. не затактирован верно.
Для "лечения" - подать тактовый сигнал от внешнего генератора, МК при этом заведется, и перешить на правильное положение фузы.

Я пользуюсь программатором avreal (http://ln.com.ua/~real/avreal/index.html)
Для удобства работы сделал текстовый командный файл PROGRAM.BAT с записанными в него настройками программирования.

Пример содержания такого файла у меня:

avreal32.exe +mega16 -p378 -as -fCKSEL=f,SUT=3 -ebvw -c 1.hex

-fCKSEL=f,SUT=3 - означает записать фузы в состояние когда используется внешний кварцевый резонатор

-p378 - программатор подключен к порту LPT1

Теперь в процессе работы при необходимости прошить программу, достаточно просто запустить этот файл на выполнение.
Исполняемый файл программатора, avreal32.exe, файл прошивки, в моем случае 1.hex и командный файл PROGRAM.BAT должны быть в одной папке.

Для ATmega8 должно быть аналогично, только надо указать нужный тип микроконтроллера "+mega8"
sch
Ну с мегой-то понятно, там скорее всего фузы. А AT90S2313 - ??? В нем же нету насколько я помню Fuse bits?
prottoss
После прочтения первого поста сразу возникает мысль, что просто не рабочая программа пишется, вот ничего и не работает.... Как в анекдоте - " - чего машину то поменял??? - Дааа...эта...пепельница полная":)
По теме - приведите программу, которую написали для первой ATmega8. Ту, которая самая простая. И не забудьте сказать, к какому порту Вы ее прицепили.
VladimirYU
Цитата(prottoss @ Feb 25 2009, 14:24) *
После прочтения первого поста сразу возникает мысль, что просто не рабочая программа пишется, вот ничего и не работает.... Как в анекдоте - " - чего машину то поменял??? - Дааа...эта...пепельница полная":)
По теме - приведите программу, которую написали для первой ATmega8. Ту, которая самая простая. И не забудьте сказать, к какому порту Вы ее прицепили.

А по моему, автор уже нашел у себя ляп, обхохотался и тему для себя закрыл.
Br.Misha
Ничего я не нашел!!! просто я тему создал вчера вечером, перед тем, как спать, утром комп не включал и только щас вернулся дамой.
кароче фузы для мега8 выставлены так, как на скрине в первом посте (для внутренего на 8МГц).
Только вот мне щас интересней что случилось с AT90S2313, ведь там фузов никаких я не выставлял. а программа 100 пудофф. рабочая. ведь перед тем, как загружать её второй раз в МК она работала. а щас не хочет ((((((
DpInRock
Либо делайте что вам говорят, либо мозги не канифльте своими проблемами.
Где фузы, где схема, где программа? Где скрин, о котором вы твердите? Ваша внимательность оставляет желать самого лучшего, видимо.
Br.Misha
Упс laughing.gif я оч извиняюсь, действительно забыл скрин оставить.

Вот программа для мега8:

Код
#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 4000000UL

int main(void)
{

DDRB = 0xFF;
PORTB = 0xFF;
DDRC = 0xFF;
PORTC = 0xFF;

}
prottoss
Цитата(Br.Misha @ Feb 25 2009, 21:01) *
Светодиоды то как подключены?smile.gif Загорятся, в Вашем случае, если анодом через резистор ~330 Oм - 510 Ом (к примеру) к порту, катодом к минусовому проводу источника питания.
DpInRock
Эта программа работать хорошо и правильно не обязана. Так программы не пишут. Вернее, пишут те, которым лом посмотреть как другие пишут. Хоть цикл бесконечный вставить надо. Мало ли что там дальше в памяти будет....
Где схема?
Br.Misha
именно так я и подключил, тока резы на 220 ом.
esaulenka
На ноге резета какой уровень?

Уже два раза по этим граблям ходил smile.gif
VladimirYU
Цитата(Br.Misha @ Feb 25 2009, 17:01) *
Упс laughing.gif я оч извиняюсь, действительно забыл скрин оставить.

Вот программа для мега8:

Код
#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 4000000UL

int main(void)
{

DDRB = 0xFF;
PORTB = 0xFF;
DDRC = 0xFF;
PORTC = 0xFF;
[b]while(1)  _WDR(); // ну хоть чего-нибудь подобное[/b]
}


А то ведь,что там дальше ведает только АЛЛАХ...
Br.Misha
Народ!!!!!
Только что попробовал чё нить запрограммировать через ICCAVR. Написал програмку загрузил в МК (90S2313) и она заработала!!!! там был припаян сегментный индикатор и на нем появились цифры.
На меге8 все равно не получаеться ничего сделать, но дело не в этом. Я насколько понял, проблема с настройками ЛПТ. В биосе ничего не менял поэтому я думаю что какой та софт мешает нормально програмить МК. Если у кого нить есть мысли о том, что же все таки не так с настройками порта, прошу откликнуться.

PS: WinXP Professional SP2
DpInRock
Ни хрена ты ничего не понял. 1111493779.gif
Br.Misha
Шо значит "нихрена"?
DpInRock
А то и значит, что если не умеешь обращаться с процессором и мало что знаешь - строго и четко выполняй инструкции знающих. И отвечай на вопросы, если хочешь получить помощь.
Атмега8 не может не работать. Только у альтернативно одаренных.
Да и программы даже для проверки вы писать совершенно не умеете.
И при всем при этом не следуете ни чьим советам.
maniac.gif
Br.Misha
Теперь я понял в чем причина!
У меня почему то не работают в мк тока те прошивки, которые написаны на WinAVR or AVRStudio. Даже с ковижена пробовал, и те работают.

У меня установлен astudio4b623 совместно с WinAVR-20081205
kurtis
Вы demo проект из WinAVR собирать пробовали, там где светодиод шимом светят? Он у Вас работает?
VladimirYU
Цитата(Br.Misha @ Mar 2 2009, 15:52) *
Теперь я понял в чем причина!
У меня почему то не работают в мк тока те прошивки, которые написаны на WinAVR or AVRStudio. Даже с ковижена пробовал, и те работают.

У меня установлен astudio4b623 совместно с WinAVR-20081205

Это все из области Ваших фантазий. Изучение матчасти никто не отменял.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.