roboforum.ru

Технический форум по робототехнике.

Вопрос по программированию

Вопрос по программированию

Серый » 29 фев 2008, 20:51

Короче я всё делал по статье с майробота. Мигание светодиодами. Всё подсоединил правильно МК сначала не мигал, после программирования сразу же замигал. Я решил поэксперементировать и сделать побольше задержку, переделал код, нажал Make Cleane, Make All и Make Programm, но ничего не изменилось, я уже по 2000 мл ставил на задержку, но ничего. Мигает как с самого начала. В чем может быть проблемма?
З.Ы. Мк использую Mega8.

Re: Вопрос по программированию

space » 29 фев 2008, 21:24

Попробуй вот это:
Программа AVR'A
Код: Выделить всёРазвернуть
#include <avr/io.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

// Функция задержки. Минимальная задержка с кварцем 4MHz, равна 1 ms
// При пошаговой отладке эту функцию можно оключить
   void delay_ms(unsigned short ms)
   {
unsigned short outer1, outer2;
outer1 = 200;
while (outer1) {
outer2 = 1000;
while (outer2) {
while ( ms ) ms--;
outer2--;
}
outer1--;
}
   }

// ------- Основная программа ---------
   void main(void)               
   {
    DDRD |= _BV(PD4);               // Установить линию 5 порта D в "1" т.е. на вывод
while(1) {                   // Бесконечный цикл
PORTD &= ~_BV(PD4); // Сбросить бит PD5 в "0" = 0V, светодиод включен
delay_ms(500);      // Ждем 0.5 сек.
PORTD |= _BV(PD4);  // Установить бит PD5 в "1" = 5V, светодиод выключен
delay_ms(500);      // Ждем 0.5 сек.
}
   }

Работает всё от и до. Проверенно. Изменять вот эту строчку
Код: Выделить всёРазвернуть
delay_ms(500);      // Ждем 0.5 сек.

Re: Вопрос по программированию

Серый » 29 фев 2008, 21:56

Сейчас попробую, возник вопрос, сколько раз можно прошивать МК?

Re: Вопрос по программированию

space » 29 фев 2008, 21:58

Если не ошибаюсь, то около 1000 раз

Re: Вопрос по программированию

Vooon » 01 мар 2008, 01:43

2 space а в <util/delay.h> ты не заглядывал?
2 Серый а ДШ посмотреть?

ЗЫ: _delay_ms() _delay_us()
ЗЫЫ: 10000

Re: Вопрос по программированию

Master » 03 мар 2008, 15:41

Не 10000 это EEPROM а флешка МК 1000 раз, у меня больше 200 не получалось вечно что-нибудь коротил и все. :o

Re: Вопрос по программированию

Vooon » 04 мар 2008, 14:34

Master писал(а):Не 10000 это EEPROM а флешка МК 1000 раз, у меня больше 200 не получалось вечно что-нибудь коротил и все. :o

люто, бешенно реквестирую пруфлинк в ДШ!

Re: Вопрос по программированию

-= Александр =- » 07 мар 2008, 08:20

Я один контроллер зашил до смерти: около 800 раз. Потом он просто начал шиться с ошибками раза с десятого...

Re: Вопрос по программированию

Vooon » 07 мар 2008, 15:25

так ты наверно старую серию шил. у тех действительно 1к

Re: Вопрос по программированию

steel_monkey » 07 мар 2008, 22:34

Такой прикол- у альтеровских ПЛИСок перешивка порядка 100 раз, потом в помойку. Совместимые ( читай, такие же) ПЛИСки делает атмель. Дык у них все как всегда- 10 К перешивок :lol:
Хотя вот чесно говоря не знаю, какая в ПЛИС технология. FLASH быстрее 20 МГц нормально не работает, а у ПЛИСок обычно порядка 200-250 МГц. Даже в АРМах это уже существенно- там из флэша гонят команды двумя потоками по три команды за выборку (NXP LPC, MAM модуль).

Re: Вопрос по программированию

ZarK117 » 12 мар 2008, 04:36

Вопрос к avr123. Почему, hex файл, полученный через CVAVR не прошивается на кристалл через AVRStudio4? И какие фюзы нужно ставить в CVAVR? что бы непосредственно с него прошивать?????

Re: Вопрос по программированию

Master » 12 мар 2008, 10:18

Фьюзы ставят не для того чтобы прошивать, а для настройки кварца, питания и еще чего-нибудь, НО так же фьюзами можно отключить режим прошивания ISP и тогда тебе придется собирать параллельный программатор, поэтому прежде чем что-то шить вначале скажи какой МК ты собираешься шить, потом скажи какие фьюзы и для чего хочешь выставлять, а потом когда мы дадим добро уже будешь шить.
А hex он вообще-то универсальный, поэтому ты скорее всего где-то уже налажал.

Re: Вопрос по программированию

Myp » 12 мар 2008, 12:16

да
чем шить хекс файл непринципиально

давай говори какой у тебя программатор
правильно ли настроил аврстудию и пытался ли раньше шить кристал и выставлять фьюзы?

прежде чем зашить фьюзы лучше спроси у общественности соответствуют ли они твоему желанию


а почему нельзя файлик прошивки от квавра шить самим квавром а перетаскивать его в студию?

Re: Вопрос по программированию

avr123.nm.ru » 12 мар 2008, 15:29

ZarK117 писал(а):Вопрос к avr123. какие фюзы нужно ставить в CVAVR? что бы непосредственно с него прошивать?????


http://avr123.nm.ru/07.htm - "Всё о прошивании AVR" и про фьюзы там же.

Добавлено спустя 3 минуты 5 секунд:
Master писал(а):Не 10000 это EEPROM а флешка МК 1000 раз, у меня больше 200 не получалось вечно что-нибудь коротил и все. :o


в дш AT90S2313 написано 1 000

в дш меги16 10 000

для еепром в обоих по 100 000 раз.

Re: Вопрос по программированию

ZarK117 » 12 мар 2008, 19:11

Дело обстоит так: проггер - AVRmk2, чип - mega32. Ранее прошивал простые проги, написанные на WinAvr через AVRStudio4...но из-за отсутствия литературы решил перейти на CVAVR...взял простейшую прогу...написанную в задаче 2 с светодиодами по таймеру. Сменил библиотеку на MEGA32.h в настройках поставил 32-й... и не прошивается...и даже через симулятор в Studio4 не прет...попробовал напрямую из CVAVR прошить...он то же глючит...... Что делать???


cron
Rambler\'s Top100 Mail.ru counter