![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| Ivan. |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
Решил перейти с WinAVR на IARAVR. С непривычки еле написал небольшой код. Помогите с появившимися для меня проблемами:
ПЕРВОЕ Вот элементарный код:
когда начал отлаживать, прерывание нулевого таймера не вызывается, по причине того, что регистр TCNT0 просто стоит на месте, хотя таймер запущен, прерывания разрешены - подстажите в чем причина? ВТОРОЕ Как настроить компилятор под C++? -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
|||
|
||||
| Коляй |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 14.6.2006 Репутация: нет Всего: нет |
Это сюда надо http://electronix.ru/forum/index.php
Только советую сразу не спрашивать, а поискать по форуму сначала. Там надо вот такую штуку писать.
(Коментарии кодировка не подходит) Но я сам как то вручную выставлял всё. Да, забыл, ещё надо сами прерывания разрешить! __enable_interrupt(); __disable_interrupt();// запретить. В старых версиях enable_interrupt(); вроде бы. а сами два этих макроса в каком то файле лежат(не помню точно) ***.h В общем что бы на IAR-е сидеть надо англицкий хорошо знать, потому что каждое незначительное действие придётся в свойствах проекта разрешать(или запрещать). СИ++ тоже надо в свойствах указывать. Ещё вроде бы в свойствах в general options / System надо внизу две галочки поставить, что то vector RETI instruction. Короче я не знаю сам ничего, у меня стоят, мне как программист в аське рассказывал, а я ставил всё и стараюсь туда не лазить. Если отлаживал на ИАР-овском же отладчике, то прерывания не будут работать. Надо отдельно выбрать Simulator/ interrupts потом выбрать прерывание, котое желаешь проэмулировать, через сколько шагов, потом уже будет само прерывание эмулироваться. Это сообщение отредактировал(а) Коляй - 20.8.2006, 07:29 |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Какой кристалл?
Ладно, допустим мега128. Тогда идем по твоему коду. Ты разрешаешь прерывания глобальные, разрешаешь прерывания по сравнению, тем не менее само прерывание по переполнению, а значит оно никогда не выполнится. В IAR плохой отладчик. Нужно компилировать в формат urbof8 и отлаживаться уже в симуляторе (эмуляторе) AVR Studio, тогда все будет так, как нужно. Кроме того, для того чтобы отмерять гарантированные равные промежутки времени, нужно пользоваться прерыванием по сравнению и сам таймер запускать в режиме CTC. СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
||||
|
||||
| Ivan. |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: 1 Всего: 2 |
с разрешением прерывания таймера 0 я ошибся, просто первоначально я писал под tiny26, а там в регистре TIMSK переполнение таймера 0 в бите 1. проверял то я нормально, по константе TOIE0, и во время отладки регистр проверял - все нормально выставлено.
Я полез из WinAVR в IAR по двум причинал: первое. отсутствие в VMLAB контроллеров, имеющих интерфейсы USI. второе. IAR лучше оптимизирует код, потому что компилирует проект целиком, а WinAVR по файликам и прилинковывает даже неиспользуемые функции и методы. кстати, я проверял на ATTyni26 и ATMega8, тоесть на 8 битных кристалах. для ARM у нас другая версия компилятора, хотя что будет там еще не знаю (Завтро впервые его запускаем). ManiaK, Как ты живеш без отладчика - непонимаю. на мой взгляд VMLAB еще ни кто не переплюнул. особенно с появлением возможности писать компаненты и объединять 2 процессора. правда если недостаток c ограничением Watch. -------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
|||
|
||||
| PILOT |
|
|||
|
производство ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2724 Регистрация: 4.4.2002 Где: москва Репутация: 20 Всего: 54 |
Компилить в urbof8 и в AVR-Studio и проверить еще раз работу если есть сомнения.
СУВ. -------------------- тут могла быть Ваша реклама... |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |