Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Че за хрень в IARе с таймером
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
asen
<_< Народ блин почему в IARe не хотят запускатся таймер в микроконтроллере ATmega16 в частности Taймер0 в AVRstudio на асме все работает а в IAR нет в регистр TCCR0=2 и он должени лабать а TCNT0 как стоял так и стоит пробывал в IAR 3.20C и IAR 4.11a нифига может в проэкте чтото нужно тыкнуть Ктонибуть знает?????????????????????????????
BVU
Опишите более подробно задачу, как Вы предполагаете работу своего таймера (если не секретно - выложите кусок своего кода инициализации таймера), а там уж будем разбираться...
Обычно проблема бывает на этапе инициализации таймера, так как многие тонкости по его работе в фирменном описании не сосредоточены в одном месте, а слегка 'разбросаны'. Поэтому с начало трудно представить четкую специфику его работы.
asen
glare.gif Вопрос состоит просто в том чтобы запустить и таймер0 и просто увидить в режиме симуляции что он считает т.е. увидить что его регистор TCNT0 инкреминируется для этого по моим понятиям необходимо просто занисти коэфицент деления предделителя в моем случии я заносил в регистор TCCR0 двойку что должно дать коэфициэнт деления равный восьми но тем нимение он как стоял так и стоит
aal
IAR подходит только для вычислительного кода, но не железа. Железо он не эмулирует. Выход - обозначь свой обработчик прерывания функцией и из тела вызывай для поверки....
asen
Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия
arttab
Для себя я отвечаю - Да! Может и есть способ выкрутиться, но только подменой железа функциями. Увы.
asen
А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR
Old1
Цитата(asen @ Sep 5 2005, 08:56)
Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия
*

Если говорить о IAR-овском симуляторе, то в общем да. Хотя для отладчика у них есть макросы которые позволяют в режиме симулятора например сгенерить прерывание или сделать останов и модифицировать содержимое IO регистров с целью имитации работы встроенной периферии, но это все делается при помощи специальных командных файлов, которые должен писать ты сам. Ну и правильность конфигурирования встроенной периферии ты проверить в режиме симулятора вряд ли сможешь.
BVU
Цитата(asen @ Sep 5 2005, 09:56)
Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия
*


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

Инициализация проходит в такой последовательности например:
1. В регистр српвнения заноситься значение которое будит сравниваться с содержимым счетчика или не заносится если счет предпологается вести до переполнения счетчика (...FF -> 0).
2. Устанавливается маска прерывания (если необходимо прерывание) от теймера по сравнение или переполнению.
3. Очистка флага прерывания (если необходимо прерывание).
4. Установка эпрескаллера' (коэфф. деления) и других.
Инициализация законченв. Если необходимы прерывания - пишите обработчик прерывания.
asen
А кто нибуть пробовал чтонибуть делать в ICC там может такое возможно или еще гденидуть
Old1
Цитата(asen @ Sep 5 2005, 09:22)
А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR
*

Если тебе нужен компилятор + симулятор в одной оболочке то есть AtManAVR. Есть еще WinAVR но с симуляцией встроенной периферии там вродебы то же ято у IAR. Чисто для отладки кода можно использовать VMLAB, proteus или AVRStudio (у них встроенного компилятора нет, но можно использовать внешний). Я для отладки использовал AtManAVR, VMLAB и proteus и везде были проблемы с симуляцией встроенной периферии.
JokerTM
Цитата(Old1 @ Sep 5 2005, 13:02)
Цитата(asen @ Sep 5 2005, 09:22)
А ктонибуть знает какую нибуть програмную оболочку в конотором и можно было писать на си и симулировать апаратные средства для AVR
*

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



А можно поподробнее про AtManAVR, что за зверь, что может, где брать, нужно ли лекарство?
Old1
Что за зверь смотри здесь:http://www.atmanecl.com/EnglishSite/indexEnglish.htm, там же и дему можешь качнуть, лекарство, понятное дело нужно, но я не встречал. Кстати компилятор в AtManAVR используется AVRGCC, насколько мне известно он бесплатный, ссылка там есть.
IgorKossak
Цитата(BVU @ Sep 5 2005, 09:33)
Цитата(asen @ Sep 5 2005, 09:56)
Значит ли это что в нем нельзя посмотреть как работает таймер или UART или какая другая переферия
*


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


Этот совместимый формат называется ubrof8.
Устанавливается он в опциях линкера.
Файл с отладочной информацией будет иметь расширение *.d90 или *.dbg.
Этот файл открывается в АВРСтудио и никаких проблем с периферией.
AVR
Цитата(IgorKossak @ Sep 7 2005, 10:33)
Этот совместимый формат называется ubrof8.
Устанавливается он в опциях линкера.
Файл с отладочной информацией будет иметь расширение *.d90 или *.dbg.
Этот файл открывается в АВРСтудио и никаких проблем с периферией.
Как в АВРСтудио 4.11 (build 401) можно организовать эмуляцию подачи информации в порт USART? Подходит ли АВРСтудио для такой задачи или потребуется использовать какую-то другую программу?
Old1
Цитата(AVR @ Oct 31 2005, 20:26)
Цитата(IgorKossak @ Sep 7 2005, 10:33)
Этот совместимый формат называется ubrof8.
Устанавливается он в опциях линкера.
Файл с отладочной информацией будет иметь расширение *.d90 или *.dbg.
Этот файл открывается в АВРСтудио и никаких проблем с периферией.
Как в АВРСтудио 4.11 (build 401) можно организовать эмуляцию подачи информации в порт USART? Подходит ли АВРСтудио для такой задачи или потребуется использовать какую-то другую программу?
*


Если верить хелпу, то в симуляторе практически никак, если только из своей программы. Вот цитата: The UART/USART UDR register can only be modified from the application. Input via stimuli files or by modifying the I/O view etc is not possible. Terminal I/O window is not implemented. This feature is available in AVR Studio 3.xx… Используй что-либо другое, proteus например, или на худой конец VMLAB, он хоть и кривой, но терминал там вроде бы работает…
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.