fpmoleg 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба Привет всем. Купил был отладочный комплект STK500 и STK501. Использую ма ATmega128L. написал простенькую прогу (использовал winAVR 2007 года) #include <avr/io.h> int main(void){ PORTF = (1<<PF7)|(1<<PF6)|(1<<PF5)|(1<<PF4)|(1<<PF3)|(1<<PF2)|(1<<PF1)|(1<<PF0); DDRF = 0xFF; while (1){} return(0); } прошивал с помощью AVR Studio выставил фьюзы: ;boot flash section size=4096 words ;Brown-out detection level at VCC=2,7 V ;Brown-out detection enabled ;Ext. Crystal/Resonator High Freq.;Strt-up time: 1K CK+0ms Проверил осциллографом на портах стоит 0. Проверял и кварц и напряжение. Все есть все программируется и читается. Извечный вопрос: что делать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба убрать ретурн из майна, и в цикл что то внести, например завести переменную и там ее инкрементировать, а то может у вас оптимизатор просто выкинул пустой цикл а за ним сразу ретурн стоит, вот программа и завершается. А еще лучше не тупо ставить в порты единицы, а светодиодами помигать, наверняка есть соответствующий пример в комплекте или на просторах интернет его можно отыскать, или самому сварганить. Кстати для кварца я ставлю всегда самое долгое время старта, т.е. 16КСК+65мс Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpmoleg 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба убрать ретурн из майна, и в цикл что то внести, например завести переменную и там ее инкрементировать, а то может у вас оптимизатор просто выкинул пустой цикл а за ним сразу ретурн стоит, вот программа и завершается. А еще лучше не тупо ставить в порты единицы, а светодиодами помигать, наверняка есть соответствующий пример в комплекте или на просторах интернет его можно отыскать, или самому сварганить. Кстати для кварца я ставлю всегда самое долгое время старта, т.е. 16КСК+65мс по поводу программы я написал так: #include <avr/io.h> #include <avr/iom128.h> void main(void){ int i; PORTE = (1<<PE7)|(1<<PE6)|(1<<PE5)|(1<<PE4)|(1<<PE3)|(1<<PE2)|(1<<PE1)|(1<<PE0); DDRE = 0x00; while(1){ PORTE = 0; for (i=0;i<1000;i++){ asm volatile("nop\n\t" "nop\n\t" "nop\n\t" "nop\n\t" ::); } PORTE = 0xFF; } } По поводу светодиодиков или осцеллографа - это дело вкуса. Если есть сигнал на портах то это видно и осцеллогрофом. У меня кварц на 7.372МГц, напряжение тоже есть - 4.91 В. На порт XTAL1 сигналы от кварца поступают. Фьюзы прошивал и читал все данны совпадают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kuzmi4 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба На счёт сигналов XTAL - я когда осцилографом тыкал на эти лапыи смотрел обработку проги - так лампочками помигать - у меня камень загинался - в принципе думаю ёмкость была у него велика - оттого и так , но другого не было - С65-й вроде.. Касательно приведённого листинга - DDRE -> 0xFF; а цикл - то до пятой точки - он за микросекунду пролетает если не меньше - его увидеть трудно, лучше юзать на худой конец _delay_ms(xx)..Если поцепить на лапки светодиоды и зациклить типа так DDRE=0xFF; while (1) { PORTE=0x00; _delay_ms(100); _delay_ms(100); PORTE=0xFF; _delay_ms(100); _delay_ms(100); } то всё должно работать, если с фузами не напутали, я их обычно сам высталяю без калькуляторов- не доверяю я им... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба Использую ма ATmega128L. Извечный вопрос: что делать ? А в камом состоянии у вас фюз M103C? Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bzx 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба ...а то может у вас оптимизатор просто выкинул пустой цикл а за ним сразу ретурн стоит... Очень на это похоже. В настройках следует поставить '-O0' (выключить оптимизатор). Так же надо посмотреть, что получается при дезасемблировании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба while (1){} - Это бесконечный цикл, а бесконечные циклы оптимизатором не выкидываються! Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpmoleg 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба Спасибо всем за ответы, но проблему это не решело. Может где то с настройками не так. Программирую я в режиме внутрисхемного программирования. Ни какой эмитации меги 103 я в фьюзах не ставил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба А ее надо как раз снять, т.к. мега128 поставляется с устаноленным битом эмуляции мега103 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpmoleg 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба >А ее надо как раз снять, т.к. мега128 поставляется с устаноленным битом эмуляции мега103 она снята. Я прошиваю про помощи AVR Studio версии 4.13. Написанная програ на эмоуляторе работает так что дело не в программе. Скорее где то в настройках. Всем еще раз спасибо. Как говорилась была ошибка в настройках. Я не правильно немного осциллограф настроил. Все работает :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_orl 0 29 мая, 2018 Опубликовано 29 мая, 2018 · Жалоба В STK500 при работе с дополнительным RS232 надо его выводы проводами подключить к нужным пинам микроконтроллера. В мануале это написано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 29 мая, 2018 Опубликовано 29 мая, 2018 · Жалоба В STK500 при работе с дополнительным RS232 надо его выводы проводами подключить к нужным пинам микроконтроллера. В мануале это написано. Теме 11 лет. Кому этот ответ может помочь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться