AVR Studio 5 - новая версия от Atmel!!!
Это называется - симмуляция. Но вообщем-то овечая первый раз я так и думал , что Вы что-то путаете в определениях
- Реклама
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
Та даже если и симмуляция, всеравно поидее оно должно было показывать как работает контроллер без него самого. Тупо вобщем сделали ИМХО
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Так Вы ее не выбрали. Вы выбрали эммуляцию. Установите для начала режим отладки в симмуляторе.
пробуйте делать запуск симуляции и она предлагает из списка доступных дебаггеров.нужно выбрать авр стимулятор.если она не предлагает стимулятор,значит этот тип контроллера. не поддерживается для симуляции.
если в настройках указан другой дебаггер, то это показано в виде широкой кнопки прям над текстом программы.
правее от выбранного контроллера .
если в настройках указан другой дебаггер, то это показано в виде широкой кнопки прям над текстом программы.
правее от выбранного контроллера .
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
У меня микра Атмега8, выставляю "АВР Симуляция" но оно не фурычит. у меня две кнопки горят с названиями: одна Атмега8 а вторая АВР симуляция. Кликал вроде настраивал там все но чет нехочет оно работать... мож я что не то делаю? Расскажите по подробней как симуляцию правильно настроить ато не вижу как микра себя должна вести. Прогу пишу, ошибок вроде нету а микру одну запорол уже. Без симуляции никак... (фьюзы нетрогал кстать, на них не грешить)
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
- Реклама
при симуляции хьюзы неважны.
пришлите свои проект вечером посмотрю,может подскажу чего.
я и сам только учусь.пока что таких проблем не было.тоже на меге 8 проекты так как демо платку на ней собрал.
кстати сейчас подумал- вы если брейкпойнты не установили в программе,она будет цикл бесконечно гонять,это не протеус во время выполнения кода изменения регистров не видны.нужно либо на знак пауза нажать, либо точку останова поставить перед запуском симуляции.
пришлите свои проект вечером посмотрю,может подскажу чего.
я и сам только учусь.пока что таких проблем не было.тоже на меге 8 проекты так как демо платку на ней собрал.
кстати сейчас подумал- вы если брейкпойнты не установили в программе,она будет цикл бесконечно гонять,это не протеус во время выполнения кода изменения регистров не видны.нужно либо на знак пауза нажать, либо точку останова поставить перед запуском симуляции.
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
у меня симуляция вообще не запускается.
Вот программа (мигание светодиодов по всему порту Б):
З.Ы. Я на СИ раньше не писал никогда программ, работал только в Паскале такчто тут я новичек полный. Это моя первая программа чтоб просто увидеть работает ли оно или нет. Походу на самом элементарном и застрял =(((
И еще вопрос: Я в правильном месте указал DDRB? (всмысле внутри процедуры до цыкла)
Вот программа (мигание светодиодов по всему порту Б):
Вот думаю может строки типа PORTB = 00000000, итд нужно записывать както подругому? Типа 0х0 и 0хFF?#include <avr/io.h>
#include <util/delay.h>
int main (void)
{
DDRB = 11111111;
while (1)
{
PORTB = 00000000;
_delay_ms(100);
PORTB = 11111111;
_delay_ms(100);
}
return 0;
}
З.Ы. Я на СИ раньше не писал никогда программ, работал только в Паскале такчто тут я новичек полный. Это моя первая программа чтоб просто увидеть работает ли оно или нет. Походу на самом элементарном и застрял =(((
И еще вопрос: Я в правильном месте указал DDRB? (всмысле внутри процедуры до цыкла)
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Скиньте архивом весь проект, и скриншот экрана в тот момент, когда вы считаете, что симуляция должна идти, а ее нет...
Ваш код никак не влияет на запуск или не запуск симулятора.
Ваш код никак не влияет на запуск или не запуск симулятора.
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10

- Вложения
-
- AVRGCC5.rar
- архив проэкта
- (35 КБ) 222 скачивания
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Конечно по-другому. 0b00000000 надо писать.
И выбран у Вас явно не симулятор а внутрисхемный дебаггер!

И выбран у Вас явно не симулятор а внутрисхемный дебаггер!
Author: Талян
Giggity giggity goo!
ноль то прокатит,а вот единицы это уже переполнение получится,но это все не причем, просто ошибку бы написало.
сейчас гляну что там у вас.
вам же в последней строке написано что нужно убедиться,что в проекте выбран правильный камень.
я на скрине этого не вижу.
Вот все нормально запускается. И вот так:
И оптимизацию включите
Так что фиг знает, картинку то урезал товарищ, самое нужное место
сейчас гляну что там у вас.
вам же в последней строке написано что нужно убедиться,что в проекте выбран правильный камень.
я на скрине этого не вижу.
Вот все нормально запускается. И вот так:
Код: Выделить всё
#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h> Если его нет, она не дает даже выбрать дебаггер,Foks писал(а): И выбран у Вас явно не симулятор а внутрисхемный дебаггер!
Так что фиг знает, картинку то урезал товарищ, самое нужное место
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
Вот не урезанная картинка. Я не включяал симуляцию и на ней видно что кнопки с выбранным симулятором и контроллером горят
Последний раз редактировалось Зукс Чт июн 28, 2012 21:46:10, всего редактировалось 1 раз.
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
если пропадают названия,то это плохо.они должны просто серыми становиться
и забудьте уже про русские названия в имени пути посмотрите что у вас снизу написано!
сохраните в нормальную папку я себе в корневом каталоге сделал папку для студии специально.
если не поможет,пробуйте выключить антивирус, файрвол или что там еще может отрезать выполнение программы.
запущено я смотрю от имени администратора.
и забудьте уже про русские названия в имени пути посмотрите что у вас снизу написано!
сохраните в нормальную папку я себе в корневом каталоге сделал папку для студии специально.
если не поможет,пробуйте выключить антивирус, файрвол или что там еще может отрезать выполнение программы.
запущено я смотрю от имени администратора.
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
Заработало, спасибо. Дело действительно было в русском названии пути. Создал папку в папке программы и все теперь работает...
правда теперь сли пошаговую симуляцию включаю то доходит до строки _delay_ms и пишет что какойто там файл не найден внутри библиотеки delay.h
правда теперь сли пошаговую симуляцию включаю то доходит до строки _delay_ms и пишет что какойто там файл не найден внутри библиотеки delay.h
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Откуда я узнал, интересно?Зукс писал(а):Заработало, спасибо. Дело действительно было в русском названии пути. Создал папку в папке программы и все теперь работает...
Внимательнее читайте что вам компилятор пишет
Раньше нужно F_CPU объявлять перед включением библиотеки.Зукс писал(а): правда теперь сли пошаговую симуляцию включаю то доходит до строки _delay_ms и пишет что какойто там файл не найден внутри библиотеки delay.h
В поисках истины человек развивается.
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
Пробовал F_CPU обьявить в самом верху но всеравно вылазит таже ошибка
Если убираю строки _delay_ms(500); то все работает нормально без ошибок
Нашел толькочто почти такуюже прогу в инете - мигание светодиодом. Таже самая ошибка: при пошаговой симуляции на шаге delay_ms сразу закидывает в библиотеку delay.h и указывает на какуюто строку... Тоесть дело уже не в проге получается? Вот код что нашел в инете:
А вот кусок кода библиотеки на который указывает симулятор:
Хотя в моей проге симулятор указывал на другую строку этой библиотеки...
Нашел толькочто почти такуюже прогу в инете - мигание светодиодом. Таже самая ошибка: при пошаговой симуляции на шаге delay_ms сразу закидывает в библиотеку delay.h и указывает на какуюто строку... Тоесть дело уже не в проге получается? Вот код что нашел в инете:
Код: Выделить всё
#define F_CPU 8000000UL // 8 MHz
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
while(1) {
DDRD = 0xff; // линии порта D задать как выходы
PORTD=0xff;
_delay_ms(1250);
PORTD = 0x00;
_delay_ms(250);
}//while
}Код: Выделить всё
__builtin_avr_delay_cycles(__ticks_dc);Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
Функция, скорее всего, на ассемблере написана, и в тулчейне присутствует в виде бинарной библиотеки. Делайте Step Over вокруг этой функции вместо Step Into.
Последний раз редактировалось Foks Чт июн 28, 2012 21:52:33, всего редактировалось 1 раз.
Giggity giggity goo!
- Сообщения: 564
- Зарегистрирован: Чт июл 21, 2011 19:56:10
Делаю Step Over вроде шаги идут дальше но когда доходит до _delay_ms указывает на строку в библиотеке delay.h это нормально вообще? Может это не ошибка и на это просто не обращать внимания? Извиняюсь конечно, я в этом полный чайник 
Шуруп забитый молотком держится намного лучше чем гвоздь закрученный отверткой!
ну вы же используете эту библиотеку,она поэтому и указывает.
если ошибок нет,то ничего страшного.
если ошибок нет,то ничего страшного.
В поисках истины человек развивается.


