Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » AVRDUDE не видит контроллер

Страниц (3): « 1 [2] 3 »
 

16. Svips - 22 Июня, 2008 - 12:18:35 - перейти к сообщению
Да, то что программатор сверяет прошитую программу с пршиваемой, это однозначно. Как и то что оне видит что прошил не верно, так как есть не соответствие. Поэтому и вылетает эта ошибка.

Попробовал закоротить Reset на землю. Несколько раз так прошил... но результат тот же Грустный.

Такой вопрос, в момент когда я закарачиваю Reset на землю, я должен отключать Reset провод от LPT?\n\n(Добавление)
Заметил тут еще такое дело. В момент компиляции программы, есть такое сообщение:

E:/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."
my_test.c:29:51: warning: no newline at end of file

может из-за этого какая ошибка. Хотя в конечном итоге выдется

-------- end --------
> Process Exit Code: 0
> Time Taken: 00:02

И хекс файл и все остальные формируются нормально. Сверя хекс с приведенным на сайте, все совпадает...
17. digger - 22 Июня, 2008 - 15:08:18 - перейти к сообщению
Цитата:
E:/WinAVR/avr/include/avr/delay.h:36:2: warning: #warning "This file has been moved to <util/delay.h>."


Это не ошибка, а предупреждение о том, что библиотечный файл был перенесен из одной папки в другую. На качество компиляции это не влияеет.

Цитата:
my_test.c:29:51: warning: no newline at end of file


В конце файла лучше оставлять пустую строку. Но это тоже простое предупреждение компилятора.

Цитата:
Разобрался со схемой... была маленькая проблеммка с контактом на одном из проводов, то контачил то нет


Может Вы микроконтроллер случайно убили.

Попробуйте загрузить Ваш hex-файл с помощью PonyProg.

http://www.lancos.com/

Выберите:

Setup / Interface setup... / Parallel / LPT1 / Avr ISP

Device / AVR micro / ATmega8


Если и PonyProg не загрузит, то, скорее всего, дело в микроконтроллере... Замешательство
18. Svips - 22 Июня, 2008 - 20:26:52 - перейти к сообщению
Скачал, установил.

Выбрал все как вы написали. Правда в

Setup / Interface setup... / Parallel / LPT1 / Avr ISP

у меня где выбор LPT1 LPT2 и тд не активна...
и там точка стоит на LPT2

Пытаюсь прошыть, и программа выдает:

Communication port not available (-16)

как я понял порт не доступен...

\n\n(Добавление)
Хотя порт в биосе включен и система (ХР) его видит

19. digger - 23 Июня, 2008 - 01:00:03 - перейти к сообщению
Parallel !!!




20. Svips - 23 Июня, 2008 - 13:13:42 - перейти к сообщению
В том то и проблемма.... Что это окно у меня почему-то не активно...
Привожу картинку.
Хотя порт включен и виндой виден...
Скорее всего из-за этого проблемма и с WINAVR.
Кстати, может для ПОНИ нужно замыкать контакты ножек 2-12 программатора? Чтобы она увидила порт. Или это не принципиально...
21. Svips - 23 Июня, 2008 - 13:15:00 - перейти к сообщению
Вот окно оборудования ноутбука, как видно, LPT есть и виден...
22. digger - 23 Июня, 2008 - 13:43:50 - перейти к сообщению
А вы не забыли деинсталлировать giveio.sys перед запуском PonyProg?

И лучше еще раз убедиться, что никакой антивирус не блокирует параллельный порт.
23. Svips - 23 Июня, 2008 - 16:00:07 - перейти к сообщению
Драйвер не удалял, даже незнал что это нужно делать. Теперь удалил, проблема таже. Но теперь на выборе AVR ISP IO можно выбрать LPT1, а на AVR ISP API по прежнему не активна....
Пробую прошивать на первой, как это происходит, пишу по шагам
1 - Открываю хекс файл
2 - Command Write ALL
3 - Are you sure .........? Кликаю Yes
4 - Device missing or unknown device (-24) Кликаю Ianore
5 - Writing.........
6 - Verifying .........
7 - Write filed

\n\n(Добавление)
Потом пробую сделать Read All
Почти теже самые шаги,и в окне результата белеберда... говорит что считала 8704Byte
Видно что явно пыталось что то записаться, но не соответствует с файлом (тем что отображалось до этого) на экране\n\n(Добавление)
Светодиот пока не мигает Улыбка\n\n(Добавление)
Типа вот такой вот ерунды
:1000000000000000000029C0FFFFE7C026C0240058
:10001000000000C022FFFFFFFFC01FC01E00000045
:1000200000001AC0FFFFFFFF1FBECFE50000000069
:10003000002210E0FFFFFFE0E0E8F02000000000F9
:100040000002A036FFFFF9F710E0A0E40000000076
:100050000092A0FFFFFFF5F701C0D2CF0000000023
:10006000DEBFFDFFFFFF81BB282F00000000000264
:10007000CF01FDFFFFF712BACF0000000000E0CF74
:10008000FFFFFFFFFFFFFFFF6000000000BAFFFF60
:10009000FFFFFFFFFFFFFFFE0000000060FFFFFF0C
:1000A000FFFFFFFFFFFFE40000000000FEFFFFFF77
:1000B000FFFFFFFFFFFF0000000000FAFFFFFFFF50
:1000C000FFFFFFFFFFFF0000000000BAFFFFFFFF80
:1000D000FFFFFFFFFFFF00000000FEFFFFFFFFFF2D
:1000E000FFFFFFFF000000000022FFFFFFFFFFFFF8
\n\n(Добавление)
Кстати, сэтой билебердой, когда отключал блок питания светодиод мигнул (я обрадовался), снова влкючил блок питания, он опять 1раз мигнул (я еще больше обрадовался). Опять выключил блок питания, мигания нет (задумался). Включил, он мигнул... (в двоейне задумался). После этого он больше признаков жизни не подавал....

24. digger - 23 Июня, 2008 - 21:08:16 - перейти к сообщению
Забыл предупредить, в Win 2000, Win XP и пр. для работы с параллельным портом следует выбирать не AVR ISP API, а AVR ISP I/O. PonyProg Вас правильно не пускал.

Цитата:
Кстати, сэтой билебердой, когда отключал блок питания светодиод мигнул (я обрадовался), снова влкючил блок питания, он опять 1раз мигнул (я еще больше обрадовался). Опять выключил блок питания, мигания нет (задумался). Включил, он мигнул... (в двоейне задумался). После этого он больше признаков жизни не подавал....


Надеюсь, при экспериментах с блоком питания Вы отключаете схему от параллельного порта. А то, не ровен час, его так и спалить можно.

Все это похоже на то, что микроконтроллер Ругаю
("Device missing"Подмигивающий
25. Svips - 23 Июня, 2008 - 22:33:21 - перейти к сообщению
Да схему отключал, благо научили, что при подключении к COM и LPT питания, комп должен быть выключен.
Ндас, но проблемка пока не решена... А может МК сгореть частично? Ведь WINAVR пытается же что-то в него записать... или она как ПОНИ просто что-то выплевывает в ЛПТ не заботясь даже о том принимает там кто что или нет....\n\n(Добавление)
Цитата:
Все это похоже на то, что микроконтроллер
("Device missing"Подмигивающий


Это как я понял из-за того что ПОНИ не распазнала сама МК, я же не делал в программаторе перемычку 2-12, и соответственно он не распознается... и она пишет, что мол неопознанное устройство. Но не прочь попробовать в него что-нибудь зашить Голливудская улыбка\n\n(Добавление)
Вернее даже не сам МК а программатор...
26. digger - 23 Июня, 2008 - 23:15:18 - перейти к сообщению
Цитата:
может МК сгореть частично?


Да

Цитата:
ПОНИ не распазнала сама МК, я же не делал в программаторе перемычку 2-12, и соответственно он не распознается...


Перемычка тут роли не играет.

Если на ноутбуке и на настольном ПК с помощью двух весьма стабильных программаторов (AVRDUDE и PonyProg) Ваш девайс не прошился, то дело, скорее всего, в девайсе.

Под девайсом я понимаю как сам МК, так и схему.
Если со схемой все в порядке, то ... рёв в три ручья
27. Svips - 23 Июня, 2008 - 23:45:44 - перейти к сообщению
Ясно, кстати я не пробовал на стационарном после того как обнаружил перебитый провод, если получится то завтра попробую прошить...
28. Svips - 24 Июня, 2008 - 21:29:04 - перейти к сообщению
Так, до другого компьютера не добрался. Снова попробовал поменять настройки в биосе. После чего прошил контроллер программой ПОНИ, и считал с него опбратно программу, вроде как не соответствие тоже. Но после этого, теперь как включаю и выключаю питание МК светодиот каждый раз делает 1 миг. В программе естественно стоит бесконечный цикл.

Еще такой вот вопрос, под фразой "отключаем программатор" можно понимать отключаем программатор от LPT, а к МК он может оставаться подключенным? Я намертво припаял программатор к схеме, и чтобы проверить отключаю его от ЛПТ при выключенном компе. Может из-за этого? Хотя врядли.

И еще вопрос, если при подачи питания на МК перепутать полярность это чревато для МК, у кого-нибуть были подобные дела?\n\n(Добавление)
Кстати, я не сильно соображаю в к варцевых резонаторах, но вот у меня из-за этого мигания светодиода при вкл/выкл питании, возникла такая мысль. Может быть такое что у меня просто кварц не резанирует? Скажем ну нехватает ему питания/мощности, он просто не раскачивается... А в момент вкл/выкл напряжения идут броски/скочки тока, и он на секунду резанирует а потом снова останавливается?

Кварц 8МГц
Питания подаю с блока питания 4,8В 300мА\n\n(Добавление)
маркировка на кварце 8,000 надеюсь я верно понимаю что это 8МГц? Улыбка
29. digger - 24 Июня, 2008 - 23:32:08 - перейти к сообщению
1.

Попробуйте прошить такую программку.

CODE:

/************************************************

ПРИМЕР ЗАЖИГАНИЯ СВЕТОДИОДА :: MYROBOT.RU

*************************************************/


#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU 8000000UL // 8 MHz

int main(void) // начало основой программы
{

DDRD = 0xff; // все выводы порта D сконфигурировать как выходы

PORTD = 0xff; // установить "1" на всех линиях порта D


} // закрывающая скобка основной программы



Диод должен гореть. Если так, то попробуйте прошить такую программку.


CODE:

/************************************************

ПРИМЕР ЗАЖИГАНИЯ СВЕТОДИОДА 3 РАЗА :: MYROBOT.RU

*************************************************/


#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU 8000000UL // 8 MHz

int main(void) // начало основой программы
{

DDRD = 0xff; // все выводы порта D сконфигурировать как выходы

PORTD = 0xff; // установить "1" на всех линиях порта D

_delay_ms(250); // Ждем 0.25 сек.

PORTD = 0x00; // установить "0" на всех линиях порта D

_delay_ms(250); // Ждем 0.25 сек.

PORTD = 0xff; // установить "1" на всех линиях порта D

_delay_ms(250); // Ждем 0.25 сек.

PORTD = 0x00; // установить "0" на всех линиях порта D

_delay_ms(250); // Ждем 0.25 сек.

PORTD = 0xff; // установить "1" на всех линиях порта D


} // закрывающая скобка основной программы


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

2.

Цитата:
Я намертво припаял программатор к схеме, и чтобы проверить отключаю его от ЛПТ при выключенном компе.


Будет достаточно, если Вы будете отключать программатор от ПК при выключенном питании на схеме.

3.

Цитата:
И еще вопрос, если при подачи питания на МК перепутать полярность это чревато для МК


Это очень чревато. Должно быть, Вы все-таки "убили" Ваш микроконтроллер.

4.

Цитата:
маркировка на кварце 8,000 надеюсь я верно понимаю что это 8МГц


Да верно и кварц довольно сложно "спалить" в отличие от микроконтроллера.
30. Svips - 25 Июня, 2008 - 08:58:18 - перейти к сообщению
Попробовал прошить первый вариант программы.
Результат ноль... не горит светодиод. Видно действительно МК "умер" Грустный
Значит нужно будет в субботу ехать покупать новый.

И подскажите. В ПОНИ, когда я открываю хекс для прошивки, я вижу его в окне. Вот после прошивки, когда я нажму на Read ALL я должен увидеть тот же самый хекс который программа уже считает с МК или же они могут отличаться?