|
Нужна помощь в прошивании AVR |
|
|
|
Jun 25 2012, 17:45
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 17-06-12
Пользователь №: 72 370

|
Здравствуйте, господа форумчане. Столкнулся со следующей проблемкой. После долгих недель штудировании теории и кодинга под avr (с использованием Proteus) решил перейти к практике. Запилил простенькую платку, которая связывала выводы программатора и выводы мк(VCC, GND, RESET, MISO, MOSI, SCK). Взял у друга Avrisp mkii и при первой же попытке прошить мк взлетает ошибка "Read voltage 0,0V is outside selected device's operating range: 1,8 V to 5,5 V"... Недолго думая совершил грандиозный поступок и прочитал даташит к программатору... Ага лопухнулся нужно отдельно запитать. Запитал от лабораторного блока 5V как по феншую. Read voltage 0,0V is outside selected device's operating range: 1,8 V to 5,5 V. Недолго думая, подумал ещё, пришёл к выводу, что нужно поспать. Поспал. Проснулся, залез в интернет и нашёл схему для прошивки
Собрал, запитал. Read voltage 0,0V is outside selected device's operating range: 1,8 V to 5,5 V. Борюсь с этим уже не первую неделю) Формум хотел оставить на последок, чтобы лишний раз не беспокоить людей по мелочам. Но у меня ничего не вышло. Утопающий просит спасения, т.к. судя по проблеме рук у меня нет
|
|
|
|
|
 |
Ответов
|
Apr 24 2013, 15:05
|
Участник

Группа: Участник
Сообщений: 22
Регистрация: 19-06-07
Из: Челябинск
Пользователь №: 28 542

|
Цитата(ILYAUL @ Apr 22 2013, 21:34)  Покажите ка Вашу инит стека Код .device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list
;èíèöèàëåçàöèÿ ñòåêà ldi temp, LOW(RAMEND) out SPL, temp
.def temp = r16 .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19
rjmp RESET; Reset Handler rjmp EXT_INT0; IRQ0 Handler reti;rjmp PCINT0; PCINT0 Handler reti;rjmp TIM0_OVF; Timer0 Overflow Handler reti;rjmp EE_RDY; EEPROM Ready Handler reti;rjmp ANA_COMP; Analog Comparator Handler reti;rjmp TIM0_COMPA; Timer0 CompareA Handler reti;rjmp TIM0_COMPB; Timer0 CompareB Handler reti;rjmp WATCHDOG; Watchdog Interrupt Handler reti;rjmp ADC; ADC Conversion Handler
;******************************************************************************* **
Reset: ;èíèöèàëåçàöèÿ ñòåêà ldi temp, LOW(RAMEND) out SPL, temp
;Íàçíà÷àåì âõîäû è âûõîäû ïîðòîâ (0-âõîä, 1-âûõîä) ldi temp, 0b111101 out DDRB, temp
;Âêëþ÷àåì ïîäòÿæêó è çàäàåì íà÷àëüíîå ñîñòîÿíèå âûõîäîâ ldi temp, 0b000010 out PORTB ,temp ;Íàñòðàèâàåì ðåãèñòð MCUCR íà ðàçðåøåíèå ïðåðûâàíèé ñ 0 íà 1 ;è óñòàíàâëèâàåì ðåæèì Power-down ldi temp, 0b00110011 out MCUCR, temp ;ðàçðåøàåì âíåøíèå ïðåðûâàíèÿ íà INT0 ldi temp, 0b01000000 out GIMSK, temp
sei ;ðàçðåøèòü ïðåðûâàíèÿ
EXT_INT0: sei
ldi temp, 0b00110011 out MCUCR, temp sbis PinB, 1;æäåì íàæàòèÿ êíîïêè (0-âûïîëíÿåì, 1-ïðîïóñêàåì) sleep
puch:;æäåì îòïóñêàíèÿ êíîïêè sbic PinB, 1 rjmp puch
;Íàñòðàèâàåì ðàçðåøåíèå ïðåðûâàíèé ñ 1 íà 0 ldi temp, 0b00110010 out MCUCR, temp
Loop: sbi PortB, 4 ;âêëþ÷àåì ñâåòîäèîä
;çàäåðæêà 7 ìèëèñåêóíä ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay
cbi PortB, 4 ;òóøèì ñâåòîäèîä ;çàäåðæêà 1 ìèëèñåêóíäà ldi Delay1, 0xC8 ldi Delay2, 0x00 ldi Delay3, 0x00 rcall Delay
;åñëè êíîïêà íå íàæàòà ïðîäîëæàåì ãîðåòü sbis PinB, 1 rjmp Loop puch1:;æäåì îòïóñêàíèÿ êíîïêè sbic PinB, 1 rjmp puch1 rjmp EXT_INT0 Delay: subi Delay1,1 sbci Delay2,0 sbci Delay3,0 brcc Delay ret При первом и втором варианте программы, если закоментировать строку sleep, то программа работает так - подносишь магнит загорается светодиод (как задумано, со скважностью 7/8) убераешь магнит тухнет светодиод.
Сообщение отредактировал Valek - Apr 24 2013, 14:44
|
|
|
|
|
Apr 25 2013, 17:32
|

Местный
  
Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658

|
Цитата(Valek @ Apr 24 2013, 18:05)  При первом и втором варианте программы, если закоментировать строку sleep, то программа работает так - подносишь магнит загорается светодиод (как задумано, со скважностью 7/8) убераешь магнит тухнет светодиод. не понятно как она у вас вообще запускается, во-первых сделайте как посоветовал zombi или попробуйте вот так: Код .device ATtiny13A .nolist .include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn13Adef.inc" .list .def temp = r16 .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 rjmp RESET; Reset Handler rjmp INT0; IRQ0 Handler rjmp PCINT0; PCINT0 Handler reti;rjmp TIM0_OVF; Timer0 Overflow Handler reti;rjmp EE_RDY; EEPROM Ready Handler reti;rjmp ANA_COMP; Analog Comparator Handler reti;rjmp TIM0_COMPA; Timer0 CompareA Handler reti;rjmp TIM0_COMPB; Timer0 CompareB Handler reti;rjmp WATCHDOG; Watchdog Interrupt Handler reti;rjmp ADC; ADC Conversion Handler ;**************************************************************************** *** ** RESET: INT0: ;èíèöèàëåçàöèÿ ñòåêà ldi temp, LOW(RAMEND) out SPL, temp ;Íàçíà÷àåì âõîäû è âûõîäû ïîðòîâ (0-âõîä, 1-âûõîä) ldi temp, 0b111101 out DDRB, temp ;Âêëþ÷àåì ïîäòÿæêó è çàäàåì íà÷àëüíîå ñîñòîÿíèå âûõîäîâ ldi temp, 0b000010 out PORTB ,temp ;Íàñòðàèâàåì ðåãèñòð MCUCR íà ðàçðåøåíèå ïðåðûâàíèé ñ 0 íà 1 ;è óñòàíàâëèâàåì ðåæèì Power-down ldi temp, 0b00110010; вкл.режима Power-down + прерываания PCINT0 + вкл.режима срабатывания INT0 от перехода 1в0 out MCUCR, temp
; точка входа по прерыванию INT0 - Пробуждение из спящего режима ;INT0: ldi temp, 0b000010; устанавливаем слежение за выв.1 out PCMSK,temp ; вкл. прерывания PCINT0 по изменению уровня на выводах ldi temp, 0b00100000 out GIMSK, temp ; задержка от дребезга кнтактов ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay
sei ;ðàçðåøèòü ïðåðûâàíèÿ Loop: sbi PortB, 4 ;âêëþ÷àåì ñâåòîäèîä ;çàäåðæêà 7 ìèëèñåêóíä ldi Delay1, 0x78 ldi Delay2, 0x05 ldi Delay3, 0x00 rcall Delay cbi PortB, 4 ;òóøèì ñâåòîäèîä ;çàäåðæêà 1 ìèëèñåêóíäà ldi Delay1, 0xC8 ldi Delay2, 0x00 ldi Delay3, 0x00 rcall Delay rjmp Loop puch1:;æäåì îòïóñêàíèÿ êíîïêè sbic PinB, 1 rjmp puch1 Delay: subi Delay1,1 sbci Delay2,0 sbci Delay3,0 brcc Delay ret
; Пробуждение из спящего режима INT0:
; Прерывание по нажатию кнопки PCINT0: cbi PortB, 4 ;откл. св.диода ; вкл. прерывания INT0 ldi temp, 0b01000000 out GIMSK, temp sleep reti
|
|
|
|
Сообщений в этой теме
MySOL Нужна помощь в прошивании AVR Jun 25 2012, 17:45 ILYAUL А сам контроллер запитали Jun 25 2012, 18:36 MySOL В первый раз соединил VCC и GND программатора и ко... Jun 25 2012, 18:40 ae_ Цитата(MySOL @ Jun 26 2012, 03:40) Read v... Jun 26 2012, 01:02  MySOL Цитата(ae_ @ Jun 26 2012, 05:02) AVRISP M... Jun 26 2012, 07:51   electronics Цитата(MySOL @ Jun 26 2012, 10:51) Все вы... Jun 26 2012, 08:25    MySOL Цитата(electronics @ Jun 26 2012, 12:25) ... Jun 26 2012, 08:52 Vasily_ А чего хоть пытаемся прошить, кантроль какой? Jun 25 2012, 22:44 ILYAUL Ну так есть два варианта - или шлейф в обрыве или... Jun 26 2012, 10:04 MySOL Цитата(ILYAUL @ Jun 26 2012, 14:04) Ну та... Jun 26 2012, 10:30  ae_ Цитата(MySOL @ Jun 26 2012, 19:30) Пичаль... Jun 26 2012, 11:59   MySOL Цитата(ae_ @ Jun 26 2012, 15:59) Может на... Jun 26 2012, 13:45 Valek Здравстуйте!
Продскажите пожалуйста где у меня... Apr 19 2013, 15:05 artkam Очень уж странная у Вас схема... Здесь получается,... Apr 19 2013, 18:34 adnega ЦитатаПродскажите пожалуйста где у меня ошибка. Я ... Apr 19 2013, 18:42 zombi Согласен с artkam.
Прежде чем браться за программу... Apr 19 2013, 22:43 Valek Цитата(artkam @ Apr 19 2013, 21:34) Очень... Apr 20 2013, 04:22 adnega Цитата(Valek @ Apr 20 2013, 08:22) А само... Apr 20 2013, 07:33  zombi Цитата(adnega @ Apr 20 2013, 10:33) Вот п... Apr 20 2013, 09:14 Valek Это получается в двух местах инициализацию делать? Apr 21 2013, 10:21 zombi Цитата(Valek @ Apr 21 2013, 13:21) Это по... Apr 21 2013, 10:53 Valek Инициализация стека не спасло ситуацию (((. Мне во... Apr 22 2013, 17:04 zombi Цитата(Valek @ Apr 22 2013, 20:04) Инициа... Apr 22 2013, 18:15 XVR За что же вы свою инициализацию стека в область ве... Apr 25 2013, 07:25 Valek Цитата(XVR @ Apr 25 2013, 10:25) За что ж... Apr 25 2013, 10:48  kolobok0 Цитата(Valek @ Apr 25 2013, 14:48) Вообще... Apr 25 2013, 12:16 zombi Попробуйте убрать инит.стека везде где Вы его вста... Apr 25 2013, 14:23 Valek AVR Studio 4.18 build 716 при компиляции выдает ош... Apr 27 2013, 02:53 MaxiMuz Цитата(Valek @ Apr 27 2013, 05:53) вот та... Apr 27 2013, 15:32  Valek Цитата(MaxiMuz @ Apr 27 2013, 18:32) заме... May 2 2013, 00:44   MaxiMuz Цитата(Valek @ May 2 2013, 03:44) А я дум... May 6 2013, 11:31 Herz Цитата(Valek @ Apr 27 2013, 05:53) Пишет ... May 2 2013, 08:39  Valek Цитата(Herz @ May 2 2013, 11:39) Valek, а... May 4 2013, 04:33 Andron77 Таблица векторов прерываний на адреса памяти прогр... May 2 2013, 07:28 Valek Ну вот, совсем по-простому. Эта программа работает... May 8 2013, 02:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|