реклама на сайте
подробности

 
 
> отладка в IAR. проблемы со счётчиком.
srm
сообщение Jan 8 2010, 20:49
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501



создаю проект для atmega32. в программе устанавливаю необходимые флаги в управляющих регистрах таймера. при отладке на эмуляторе почему-то значение TCNT не меняется. код рабочий - проверял на VMLAB.

Код
void main()
{
    TCCR0 = (1 << CS00);
    TCNT0 = 0;
    
    while (1)
    {
        volatile int x = 0;
        x = ~x;
    }
}


скорее всего неправильно настроен проект. не могу найти причину.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
plombir
сообщение Jan 9 2010, 06:39
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(srm @ Jan 8 2010, 23:49) *
создаю проект для atmega32. ...

Код
    while (1)
    {
        volatile int x = 0;
        x = ~x;
    }

X - не статическая переменная. Она всегда будет обнуляться. Так задумано?

Симулятор в IAR-е не эмулирует периферию. WD, таймеры и т.п. как в AVR studio не работают.
Go to the top of the page
 
+Quote Post
srm
сообщение Jan 9 2010, 12:17
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501



rezident
Цитата
Я поначалу хотел похожий ответ написать, но топикстартер написал эмулятор, а не симулятор. Я думаю, что он знает разницу между ними. Или нет?


не нужно пижонствовать. знали бы - ответили бы. что касается слова "эмулятор", то я употребил его правильно (см. wiki). терпеть не могу пижонство.

Сообщение отредактировал srm - Jan 9 2010, 12:18
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 9 2010, 12:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(srm @ Jan 9 2010, 17:17) *
не нужно пижонствовать. знали бы - ответили бы. что касается слова "эмулятор", то я употребил его правильно (см. wiki). терпеть не могу пижонство.
Причем тут какое-то мнимое пижонство? Если вы используете эмулятор (дебаггер, аппаратный отладчик), то результат работы таймера зависит от того правильно ли вы проинициализировали его самого и его источники тактирования. Если же вы используете симулятор (программный модуль симулирующий работу "железа"), то результат зависит от качества модели таймера и корректности работы с ним этой программы-симулятора. Вам указали, что в IAR работа периферии НЕ симулируется. В симуляторе IAR с помощью макросов можно реализовать только симуляцию прерываний от периферийных модулей. Где тут вы рассмотрели пижонство?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 17:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016