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

 
 
> MSP430. IAR. Симуляция, Как завести частоту на таймер А?
Daisy
сообщение Nov 23 2006, 17:11
Сообщение #1


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

Группа: Свой
Сообщений: 96
Регистрация: 29-04-05
Из: г. Жуковский
Пользователь №: 4 606



Хочу в msp430F1121
завести внутренний DCO на таймер А ?
Как это в IAR-е осуществить?
Вот такие строчки не помогают
bis.w #TASSEL_2,&TACTL
bis.w #MC_1,&TACTL
где я туплю?
никак у меня TAR в симуляторе инкрементится не хочет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shasik
сообщение Nov 25 2006, 03:44
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 3-09-05
Из: Беларусь, Новополоцк
Пользователь №: 8 188



Цитата(Daisy @ Nov 23 2006, 16:11) *
Хочу в msp430F1121
завести внутренний DCO на таймер А ?
Как это в IAR-е осуществить?
Вот такие строчки не помогают
bis.w #TASSEL_2,&TACTL
bis.w #MC_1,&TACTL
где я туплю?
никак у меня TAR в симуляторе инкрементится не хочет.


Если просто нужен вызов обработчика прерывания Timer_A,то в IAR'e
1. Запускаем программу в режиме симулятора
2. Тискаем меню Симулятор->Прерывания...
3. Выбираем тип прерывания (там перечислены все возможные истоники), устанавливаем периодичность вызыва прерывания (в тактах CPU), номер такта , когда произойдет вызов ISR в первый раз + длительность, вероятность срабатывания
4. Радуемся жизни - мы сделали "симуляцию" прерывания, т.е. мы можем посмотреть, что MSP будет делать когда произойдет то или иное прерывание. Но TAR, кажется, инкрементироваться не будет. Источников прерываний в симуляторе можно установить не один и не два.

Не знаю, но по-моему так более понятно, чем общий ответ "дык, нужно использовать макросы".
P.S. Если таймер используешь просто чтобы посчитать длительность выполнения того или иного куска кода, то там есть просто счетчик тактов CPU
Go to the top of the page
 
+Quote Post
dxp
сообщение Nov 28 2006, 14:35
Сообщение #3


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(shasik @ Nov 25 2006, 06:44) *
Если просто нужен вызов обработчика прерывания Timer_A,то в IAR'e
1. Запускаем программу в режиме симулятора
2. Тискаем меню Симулятор->Прерывания...
3. Выбираем тип прерывания (там перечислены все возможные истоники), устанавливаем периодичность вызыва прерывания (в тактах CPU), номер такта , когда произойдет вызов ISR в первый раз + длительность, вероятность срабатывания
4. Радуемся жизни - мы сделали "симуляцию" прерывания, т.е. мы можем посмотреть, что MSP будет делать когда произойдет то или иное прерывание. Но TAR, кажется, инкрементироваться не будет. Источников прерываний в симуляторе можно установить не один и не два.

Не знаю, но по-моему так более понятно, чем общий ответ "дык, нужно использовать макросы".

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

Кроме того, есть случаи, которые через меню просто не сделать. Например, это симуляция поступления данных через последовательный порт или от АЦП. Тут требуется брейк типа immediate, при котором реальной остановки не происходит, но зато вызвается функция (писанная там же нами же), которая подсовывает в нужный регистр нужное значение (хоть из файла берет).

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:12
Рейтинг@Mail.ru


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