|
Помогите начинающему чайнику с msp430 |
|
|
|
May 15 2008, 18:24
|
Группа: Новичок
Сообщений: 2
Регистрация: 10-03-08
Пользователь №: 35 771

|
Здравствуйте! Помогите пожалуйста разобраться, что я не так делаю.Есть простенькая прога для msp430: Код #include "msp430x20x3.h" #include <intrinsics.h>
unsigned int i = 0;
void main(void) { WDTCTL= WDTPW+WDTHOLD; P1DIR|=0x01; TACCR0=65500; P1OUT|=0x01; TACTL|=TACLR+ID_2+TASSEL_2+ID_1; TACCTL0|=CCIE; __enable_interrupt();
while (1); }
#ifdef __IAR_SYSTEMS_ICC__ #if __VER__ < 200 interrupt[TIMERA0_VECTOR] void TimerA0_ISR(void) #else #pragma vector=TIMERA0_VECTOR __interrupt void TimerA0_ISR( void ) #endif #endif
#ifdef __CROSSWORKS_MSP430 void TimerA0_ISR(void) __interrupt[TIMERA0_VECTOR] #endif
#ifdef __TI_COMPILER_VERSION__ __interrupt void TimerA0_ISR(void); TIMERA0_ISR(TimerA0_ISR) __interrupt void TimerA0_ISR(void) #endif { __disable_interrupt(); if (P1OUT == 0x00)
{ P1OUT|=0x01; i+=500; TACCR0-=i; } else {P1OUT|=0x00; TACCR0-=i; } __enable_interrupt(); } На обработчик прерывания можно в данном случае особо не обращать внимания, не в нем суть. Вроде как для инициализации таймера я пишу то, что надо. В симуляторе же (и на эмуляторе - ez430-F2013) видно ,что счетный регистр таймера TAR никак вообще не изменяется... Соответственно вопросы: 1) Как заставить таймер таки считать? 2) Насчет прерывания - как проверить работу обработчика? (разрешение прерывания по сравнению - CCIE установлено), руками ставлю CCIFG (ведь он аппаратно ставиться, когда таймер досчитывает до значения в TACCR0), прерывания разрешаю - результат - никакой.... Помогите плз!
|
|
|
|
|
 |
Ответов
|
May 15 2008, 19:42
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(4sak3n @ May 15 2008, 21:24)  В симуляторе же (и на эмуляторе - ez430-F2013) видно ,что счетный регистр таймера TAR никак вообще не изменяется... В иаровском симуляторе периферия не симулируется. Если не работает и в эмуляторе - надо искать ошибки в программе. Цитата(4sak3n @ May 15 2008, 21:24)  1) Как заставить таймер таки считать? Правильно его принициализировать. Почитайте это сообщение, там как раз про использование "+" в формировании констант. Может ошибка в этом. Цитата(4sak3n @ May 15 2008, 21:24)  2) Насчет прерывания - как проверить работу обработчика? (разрешение прерывания по сравнению - CCIE установлено), руками ставлю CCIFG (ведь он аппаратно ставиться, когда таймер досчитывает до значения в TACCR0), прерывания разрешаю - результат - никакой.... В эмуляторе поставить точку останова на начало обработчика. Запустить.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 18 2008, 10:04
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345

|
Здравствуйте. Я тоже начинающий, и еще более чайник Подскажите, пожалуйста, как в CCE 2.0 войти в режим симулятора, никак не могу понять. Вроде в свойствах проекта на режим отладки устанавливаю - "simulator", но при запуске debuge ничего не происходит. Есть какое-нибудь руководство по использованию самого CCE, у меня есть только техасовские руководства по компилятору и ассемблеру. И еще - генератор такотовой частоты запускается сразу после подачи питания или его надо сначала сконфигурировать? Тот же вопрос про генератор опорного напряжения. Если кто наткнется на эту тему - ответьте, пожалуйста. Спасибо.
|
|
|
|
|
May 21 2008, 04:06
|

Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-06-06
Из: Сарапула
Пользователь №: 18 275

|
Цитата(Daria @ May 18 2008, 14:04)  Здравствуйте. Я тоже начинающий, и еще более чайник  Здравствуйте! Цитата(Daria @ May 18 2008, 14:04)  Подскажите, пожалуйста, как в CCE 2.0 войти в режим симулятора, никак не могу понять. Вроде в свойствах проекта на режим отладки устанавливаю - "simulator", но при запуске debuge ничего не происходит. Есть какое-нибудь руководство по использованию самого CCE, у меня есть только техасовские руководства по компилятору и ассемблеру. Как чайник чайнику рекомендую использовать для разработки кода и отладки IAR Embedded Workbench. Скачивание и лечение неоднократно обсуждалось... Цитата(Daria @ May 18 2008, 14:04)  И еще - генератор такотовой частоты запускается сразу после подачи питания или его надо сначала сконфигурировать? После сигнала PUC (т.е. включения микроконтроллера) источником для MCLK и SMCLK (основные тактирующие сигналы контроллера) является DCOCLK (цифровой генератор) c частотой около 800 кГц. Если это устраивает, то ничего конфигурировать не нужно, но если вам необходимо стабильное тактирование на определенной частоте от внешнего резонатора/генератора или требуется функционирование DCOCLK на другой частоте, следует сконфигурировать основной модуль тактирования с помощью регистров DCOCTL, BCSCTL1 и BCSCTL2. Цитата(Daria @ May 18 2008, 14:04)  Тот же вопрос про генератор опорного напряжения. Выбор источника опорного напряжение, его включение и задание напряжения производится посредством регистра ADC10CTL0. Само-собой ничего работать не будет... Цитата(Daria @ May 18 2008, 14:04)  Если кто наткнется на эту тему - ответьте, пожалуйста. Спасибо. 
--------------------
Сделал трэш - разбудил Ктулху!!!
|
|
|
|
|
May 25 2008, 19:16
|
Местный
  
Группа: Участник
Сообщений: 229
Регистрация: 24-02-08
Пользователь №: 35 345

|
А вот еще вопрос от чайника. Подскажите, если кто наткнется, какую-нибудь отладку, чтобы работала с IARом в режиме эмулятора, и позволяла бы программировать прямо на плате, т.к.. контроллер(MSP430) уже напаян. Вот какие запросы  MSP-FET430PIF случаем не подойдет? Если подойдет, можно какую-нибудь ссылочку на схему, в руководстве на MSP-FET есть, но можно как-нибудь попроще и почетче? Заранее спасибо, если кто ответит
|
|
|
|
|
May 25 2008, 20:01
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Daria @ May 26 2008, 01:16)  А вот еще вопрос от чайника. Подскажите, если кто наткнется, какую-нибудь отладку, чтобы работала с IARом в режиме эмулятора, и позволяла бы программировать прямо на плате, т.к.. контроллер(MSP430) уже напаян. Вот какие запросы  MSP-FET430PIF случаем не подойдет? Если подойдет, можно какую-нибудь ссылочку на схему, в руководстве на MSP-FET есть, но можно как-нибудь попроще и почетче? Заранее спасибо, если кто ответит  Не вижу необходимости в создании кросспостов, которые, кстати, запрещены Правилами форума.
|
|
|
|
Сообщений в этой теме
4sak3n Помогите начинающему чайнику с msp430 May 15 2008, 18:24 SSerge 1. В регистре TACTL при инициализации в биты MCx з... May 15 2008, 19:39 hendeman Здравствуйте! Зашиваю программу в контроллер m... Dec 7 2012, 08:22 MrYuran Цитата(hendeman @ Dec 7 2012, 12:22) Здра... Dec 7 2012, 08:31 hendeman извиняюсь.. Вы совершенно правы программатор лаунч... Dec 7 2012, 08:41 MrYuran Цитата(hendeman @ Dec 7 2012, 12:41) Я та... Dec 7 2012, 08:50 hendeman Все, разобрался. На 16 пине (reset) должно быть пи... Dec 7 2012, 09:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|