Перейти к содержанию
    

Че за хрень в IARе с таймером

<_< Народ блин почему в IARe не хотят запускатся таймер в микроконтроллере ATmega16 в частности Taймер0 в AVRstudio на асме все работает а в IAR нет в регистр TCCR0=2 и он должени лабать а TCNT0 как стоял так и стоит пробывал в IAR 3.20C и IAR 4.11a нифига может в проэкте чтото нужно тыкнуть Ктонибуть знает?????????????????????????????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опишите более подробно задачу, как Вы предполагаете работу своего таймера (если не секретно - выложите кусок своего кода инициализации таймера), а там уж будем разбираться...

Обычно проблема бывает на этапе инициализации таймера, так как многие тонкости по его работе в фирменном описании не сосредоточены в одном месте, а слегка 'разбросаны'. Поэтому с начало трудно представить четкую специфику его работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:glare: Вопрос состоит просто в том чтобы запустить и таймер0 и просто увидить в режиме симуляции что он считает т.е. увидить что его регистор TCNT0 инкреминируется для этого по моим понятиям необходимо просто занисти коэфицент деления предделителя в моем случии я заносил в регистор TCCR0 двойку что должно дать коэфициэнт деления равный восьми но тем нимение он как стоял так и стоит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IAR подходит только для вычислительного кода, но не железа. Железо он не эмулирует. Выход - обозначь свой обработчик прерывания функцией и из тела вызывай для поверки....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для себя я отвечаю - Да! Может и есть способ выкрутиться, но только подменой железа функциями. Увы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия

Если говорить о IAR-овском симуляторе, то в общем да. Хотя для отладчика у них есть макросы которые позволяют в режиме симулятора например сгенерить прерывание или сделать останов и модифицировать содержимое IO регистров с целью имитации работы встроенной периферии, но это все делается при помощи специальных командных файлов, которые должен писать ты сам. Ну и правильность конфигурирования встроенной периферии ты проверить в режиме симулятора вряд ли сможешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия

 

Это смотрится в AVRStudio. Необходимо преобразовать IAR код в нужный для AVRStudio формат (в AVRStudio есть описание, как это сделать) и смотрите, как работает Ваш счетчик.

В IAR при отладке к сожалению такого способа нет.

 

Инициализация проходит в такой последовательности например:

1. В регистр српвнения заноситься значение которое будит сравниваться с содержимым счетчика или не заносится если счет предпологается вести до переполнения счетчика (...FF -> 0).

2. Устанавливается маска прерывания (если необходимо прерывание) от теймера по сравнение или переполнению.

3. Очистка флага прерывания (если необходимо прерывание).

4. Установка эпрескаллера' (коэфф. деления) и других.

Инициализация законченв. Если необходимы прерывания - пишите обработчик прерывания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто нибуть пробовал чтонибуть делать в ICC там может такое возможно или еще гденидуть

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR

Если тебе нужен компилятор + симулятор в одной оболочке то есть AtManAVR. Есть еще WinAVR но с симуляцией встроенной периферии там вродебы то же ято у IAR. Чисто для отладки кода можно использовать VMLAB, proteus или AVRStudio (у них встроенного компилятора нет, но можно использовать внешний). Я для отладки использовал AtManAVR, VMLAB и proteus и везде были проблемы с симуляцией встроенной периферии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR

Если тебе нужен компилятор + симулятор в одной оболочке то есть AtManAVR. Есть еще WinAVR но с симуляцией встроенной периферии там вродебы то же ято у IAR. Чисто для отладки кода можно использовать VMLAB, proteus или AVRStudio (у них встроенного компилятора нет, но можно использовать внешний). Я для отладки использовал AtManAVR, VMLAB и proteus и везде были проблемы с симуляцией встроенной периферии.

 

А можно поподробнее про AtManAVR, что за зверь, что может, где брать, нужно ли лекарство?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за зверь смотри здесь:http://www.atmanecl.com/EnglishSite/indexEnglish.htm, там же и дему можешь качнуть, лекарство, понятное дело нужно, но я не встречал. Кстати компилятор в AtManAVR используется AVRGCC, насколько мне известно он бесплатный, ссылка там есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия

 

Это смотрится в AVRStudio. Необходимо преобразовать IAR код в нужный для AVRStudio формат ...

Этот совместимый формат называется ubrof8.

Устанавливается он в опциях линкера.

Файл с отладочной информацией будет иметь расширение *.d90 или *.dbg.

Этот файл открывается в АВРСтудио и никаких проблем с периферией.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Этот совместимый формат называется ubrof8.

Устанавливается он в опциях линкера.

Файл с отладочной информацией будет иметь расширение *.d90 или *.dbg.

Этот файл открывается в АВРСтудио и никаких проблем с периферией.

Как в АВРСтудио 4.11 (build 401) можно организовать эмуляцию подачи информации в порт USART? Подходит ли АВРСтудио для такой задачи или потребуется использовать какую-то другую программу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...