|
помогите! горят AVR-ы! |
|
|
|
Feb 24 2009, 21:03
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Сдрасте! Вчера купил себе мегу8, написал прогу для ШИМ чтобы просто поиграться яркостью светодиода, спаял на макетке схему залил прошивку, отсоеденил программатор от МК но светодиод вообще не горел. После этого я написал самую простую программу чтобы просто зажечь светодиоды на порту В и С, но светодиоды на этих лапах всервно не горели. Тут я ещё немного поюзал его но никакого положительного эфекта небыло - прошивался нормально, но не работал. Я решил что МК просто нерабочий. Больше дома у меня ниодной АВР-ки не оставалось. Но я нашел на полке один девайс, котороый я делал для измерения частоты (импульсы на INT1) на 90S2313. включил - работает. Потом мне захотелось сделать чёт прикольное и я прицепил на INT1 ИК приемник. Включил - он не работает. отпаял приемник - тоже не работает. Потом подумал перепрошить МК. Подключил программатор, очистил кристал, залил прошивку, включаю - а оно опять не работает. Я и с этим долго возился и как вы уже догадались, безрезультатно, программатор его видет, нормально заливает прошивку но сам МК не работает. Вот у меня терь возникла мысль что я спалил те МК статикой или паяльником (хотя МК стоял в панельке и прямо ножку той панельки я не паял).
Народ, может кто знает в чем причина? Я полазил по этом форуму и увидел тут несколько оч опытных людей, может в вашей практике тоже такое случалось? Просто не исключено что у следующего МК который я буду юзать появляться те же симптомы.
Зараней СПАСИБА!!!
|
|
|
|
|
Feb 25 2009, 07:07
|
Местный
  
Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139

|
Частая ошибка новичков - неверная запись фузов, определяющих источник тактирования. При этом контроллер один раз прошивается, после чего не работает прошитая программа и больше не отзывается при программировании - он же не стартовал, т.к. не затактирован верно. Для "лечения" - подать тактовый сигнал от внешнего генератора, МК при этом заведется, и перешить на правильное положение фузы.
Я пользуюсь программатором 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"
|
|
|
|
|
Feb 25 2009, 11:34
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(prottoss @ Feb 25 2009, 14:24)  После прочтения первого поста сразу возникает мысль, что просто не рабочая программа пишется, вот ничего и не работает.... Как в анекдоте - " - чего машину то поменял??? - Дааа...эта...пепельница полная":) По теме - приведите программу, которую написали для первой ATmega8. Ту, которая самая простая. И не забудьте сказать, к какому порту Вы ее прицепили. А по моему, автор уже нашел у себя ляп, обхохотался и тему для себя закрыл.
|
|
|
|
|
Feb 25 2009, 14:01
|
Местный
  
Группа: Validating
Сообщений: 253
Регистрация: 21-12-08
Пользователь №: 42 646

|
Упс  я оч извиняюсь, действительно забыл скрин оставить. Вот программа для мега8: Код #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 4000000UL
int main(void) {
DDRB = 0xFF; PORTB = 0xFF; DDRC = 0xFF; PORTC = 0xFF;
}
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|