в том то и дело что ничего дополнительного в виде перемычак запаивать нельзя.. Прибор сделан в китае, и наша задача его перепрограмировать.. Партия 600 штук, каждую перепаивать займет много времени.COKPOWEHEU писал(а):Для программирования по ISP надо как минимум MISO, MOSI, SCK, RESET и, разумеется, земля - то есть 5 выводов. Что у вас за разъем такой странный? Неужели стандартный ISP-6 или ISP-10 не помещался? И неужели нельзя кинуть перемычку, сделать временный переходник (4 провода от вашего странного разъема плюс земля и питание, припаянные прямо на плату) на навешенный на программатор разъем.
AVR studio в вопросах и ответах
- Сообщения: 117
- Зарегистрирован: Ср ноя 05, 2014 19:04:31
- Реклама
Вы же как-то запитываете устройство. Почему не подать + и GND от питания на 2 и 6 выводы дракона.
Неужели даже прототипа небыло? Разработчиков по рукам...
- Сообщения: 117
- Зарегистрирован: Ср ноя 05, 2014 19:04:31
Вот как выглядит этот прибор. [url=http://img.radiokot.ru/files/101076/medium/10ya13gbei.jpg]akl писал(а):Вы же как-то запитываете устройство. Почему не подать + и GND от питания на 2 и 6 выводы дракона.
Последний раз редактировалось DarkWolf Чт июл 28, 2016 07:19:00, всего редактировалось 2 раза.
- Реклама
Даже если как выше писали, обмануть программатор, подав напряжение на его контакт VCC, то на линиях MOSI, MISO, SCK и RESET потенциал меряется относительно земли, ОБЩЕЙ для программатора и программируемого устройства. Если этой связи нет, т.е. GND разорвана (в общем случае, когда схема питается от гальванически развязанного источника), то на линиях программирования получается вместо 0-5В произвольный потенциал, которым ничего не запрограммируете. Разъем внутрисхемного программирования AVR - стандартный 6 или 10 контактов, с землей и VCC, тому кто проектировал плату и не знал этого руки оторвать надоDarkWolf писал(а):Плата спаяна, для прграммирования есть только 4 контакта.
Делайте переходник, 4 линии подключайте штатно, а на землю и VCC сделайте от программатора щупы и при программировании ручками своими держите их на тех местах платы, где приходят соответствующие потенциалы. 600 шт.? Ну значит такова расплата за косяки при разработке, это еще фигня, вот если бы дорабатывать что-то пришлось в каждой плате.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
- Сообщения: 1299
- Зарегистрирован: Вт мар 31, 2015 22:56:07
- Откуда: Мы люди простые, живем в лесу, на пенек молимся
Подавайте на программатор общий (GND) от контакта питания устройства – и программируйте устройство по ISP.DarkWolf писал(а):Вот как выглядит этот прибор.akl писал(а):Вы же как-то запитываете устройство. Почему не подать + и GND от питания на 2 и 6 выводы дракона.
Разработчика больно и обидно высечь.
- Сообщения: 117
- Зарегистрирован: Ср ноя 05, 2014 19:04:31
Всем спасибо за помощь. Особенность Дракона в том, что без подключенного Vcc не обойтись. При подключении общей земли так же ничего не работало.. Пришлось держать рукой подключенный контакт Vcc к питанию контроллера.
- Сообщения: 804
- Зарегистрирован: Чт мар 12, 2009 16:31:05
Документ от ATMEL
http://www.atmel.com/Images/Atmel-42723 ... rGuide.pdf
стр.22 схема подключения, земля присутствует и VTG, вероятно, правильно подключили.
http://forum.easyelectronics.ru/viewtop ... view=print
http://www.atmel.com/Images/Atmel-42723 ... rGuide.pdf
стр.22 схема подключения, земля присутствует и VTG, вероятно, правильно подключили.
http://forum.easyelectronics.ru/viewtop ... view=print
- Сообщения: 117
- Зарегистрирован: Ср ноя 05, 2014 19:04:31
Спасибо, вот именно то что нужно было выдержка из форума "Примечание: AVR Dragon должен чувствовать входное напряжение на выводе 2 разъёма ISP, оно используется для работы транслятора уровней.Vov123 писал(а):Документ от ATMEL
http://www.atmel.com/Images/Atmel-42723 ... rGuide.pdf
стр.22 схема подключения, земля присутствует и VTG, вероятно, правильно подключили.
http://forum.easyelectronics.ru/viewtop ... view=print
Для программирования микросхем в собственной панельке Дракона, напряжение нужно подать с ножек 2,4,6 разъёма VCC (5V) на контакт 2 (VTG) разъёма ISP.
При программировании во внешней системе, соединять питание системы и разъёма VCC НЕЛЬЗЯ, в этом случае на контакт 2 (VTG) разъёма ISP нужно подать питание от программируемой системы".. это читал, но по незнанию английского не правильно перевел(
- Сообщения: 359
- Зарегистрирован: Чт авг 08, 2013 01:06:54
Доброго времени суток. Как на ассемблере в AVR Studio об'явить переменную в EEPROM памяти, и на этапе компиляции ее проинициализировать (присвоить значение)? Чтобы можно было получить файлик с расширением *eep и прошить его вместе с хексом.
Делаю это так:
Потом в коде, где надо, читаю вот так:
Сама процедурка:
И все время считывается 0 
Делаю это так:
Код: Выделить всё
.eseg
ADDR: .db 0x0F
Код: Выделить всё
ldi ee_addr, ADDR
rcall EE_Read
Код: Выделить всё
EE_Read:
sbic EECR, EEPE
rjmp EE_Read
out EEARL, ee_addr
sbi EECR, EERE
in ee_data,EEDR
ret
- Сообщения: 804
- Зарегистрирован: Чт мар 12, 2009 16:31:05
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Покажите файл *.eep. Если вы прошивали только 0x0F, нулям там взяться неоткуда: стертая EEPROM это 0xFF. Еще можно попробовать вручную, из программы записать по вашему адресу число а потом считать программой и программатором и посмотреть разницу.
Какой контроллер? И для начала бы убедится программатором что в EEPROM прошито верное значение.
А прерывания почему не запрещаете при чтении EEPROM?Пока_без_кота
Из datasheet ATmega8The examples assume that interrupts are controlled (for example by disabling
interrupts globally) so that no interrupts will occur during execution of these
functions.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Если в прерывании нет обращения к EEPROM то и смысла их запрещать нет. Этим они перекрывают ту ситуацию, что между проверкой занятости модуля и исполнением записи/чтения может возникнуть прерывание которое изменит состояние регистров EEPROM и дальнейший код наделает делов. Но если таких прерываний нет, то запрещать их причины не вижу.
- Сообщения: 359
- Зарегистрирован: Чт авг 08, 2013 01:06:54
Контроллер Attiny13A, поетому нет EEARH. файлик *.eep имеет следующее содержимое:
:010001000FEF
:00000001FF
"Еще можно попробовать вручную, из программы записать по вашему адресу число" - что есть вручную, из программы ? Это ручками подправить значение в файлике ?
:010001000FEF
:00000001FF
"Еще можно попробовать вручную, из программы записать по вашему адресу число" - что есть вручную, из программы ? Это ручками подправить значение в файлике ?
- Сообщения: 804
- Зарегистрирован: Чт мар 12, 2009 16:31:05
Пока_без_кота писал(а):Контроллер Attiny13A, поетому нет EEARH.
Значит там нет и EEARL
Полученное значение из EEPROM куда пытаешься скопировать. в регистр или переменную?
- Сообщения: 359
- Зарегистрирован: Чт авг 08, 2013 01:06:54
Вы не поверите, я тоже сперва так думал, но внимательно прочитав даташит, я увидел в документе http://www.atmel.com/ru/ru/Images/8126S.pdf в таблице регистров, название регистра с адресом 0х1Е и был сам немало удивлен.Vov123 писал(а): Значит там нет и EEARL
Полученное значение из EEPROM куда пытаешься скопировать. в регистр или переменную?
Значение пишу в регистр.
- Сообщения: 804
- Зарегистрирован: Чт мар 12, 2009 16:31:05
Ну что-ж. замечательно. Теперь надо пролистать немного далее даташит и разобрать пример чтения данных еепром. Там всё подробно описано.
ee_addr и ee_data какие в программе регистры?
для копирования из регистра в переменную используй команду sts
Код: Выделить всё
EEPROM_read:
; Wait for completion of previous write
sbic EECR,EEPE
rjmp EEPROM_read
; Set up address (r17) in address register
out EEARL, r17
; Start eeprom read by writing EERE
sbi EECR,EERE
; Read data from data register
in r16,EEDR
retдля копирования из регистра в переменную используй команду sts




