4sak3n 0 15 мая, 2008 Опубликовано 15 мая, 2008 · Жалоба Здравствуйте! Помогите пожалуйста разобраться, что я не так делаю.Есть простенькая прога для 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), прерывания разрешаю - результат - никакой.... Помогите плз! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 4 15 мая, 2008 Опубликовано 15 мая, 2008 · Жалоба 1. В регистре TACTL при инициализации в биты MCx записывается 00, таймер при этом остановлен. 2. В обработчике прерывания нет необходимости писать __disable_interrupt(); Прерывания и так уже запрещены при входе в обработчик. И разрешать в конце тоже не нужно. После исполнения команды reti будет восстановлено из стека прежнее содержимое регистра статуса (SR) и бит GIE в том числе, т.е. прерывания снова будут разрешены. PS. Кстати, оператор P1OUT|=0x00; делает совсем не то на что Вы, должно быть, рассчитывали. По правде сказать, он совсем ничего не делает. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 123 15 мая, 2008 Опубликовано 15 мая, 2008 · Жалоба В симуляторе же (и на эмуляторе - ez430-F2013) видно ,что счетный регистр таймера TAR никак вообще не изменяется...В иаровском симуляторе периферия не симулируется. Если не работает и в эмуляторе - надо искать ошибки в программе. 1) Как заставить таймер таки считать?Правильно его принициализировать. Почитайте это сообщение, там как раз про использование "+" в формировании констант. Может ошибка в этом. 2) Насчет прерывания - как проверить работу обработчика? (разрешение прерывания по сравнению - CCIE установлено), руками ставлю CCIFG (ведь он аппаратно ставиться, когда таймер досчитывает до значения в TACCR0), прерывания разрешаю - результат - никакой....В эмуляторе поставить точку останова на начало обработчика. Запустить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daria 0 18 мая, 2008 Опубликовано 18 мая, 2008 · Жалоба Здравствуйте. Я тоже начинающий, и еще более чайник :) Подскажите, пожалуйста, как в CCE 2.0 войти в режим симулятора, никак не могу понять. Вроде в свойствах проекта на режим отладки устанавливаю - "simulator", но при запуске debuge ничего не происходит. Есть какое-нибудь руководство по использованию самого CCE, у меня есть только техасовские руководства по компилятору и ассемблеру. И еще - генератор такотовой частоты запускается сразу после подачи питания или его надо сначала сконфигурировать? Тот же вопрос про генератор опорного напряжения. Если кто наткнется на эту тему - ответьте, пожалуйста. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A R T 0 21 мая, 2008 Опубликовано 21 мая, 2008 · Жалоба Здравствуйте. Я тоже начинающий, и еще более чайник :) Здравствуйте! Подскажите, пожалуйста, как в CCE 2.0 войти в режим симулятора, никак не могу понять. Вроде в свойствах проекта на режим отладки устанавливаю - "simulator", но при запуске debuge ничего не происходит. Есть какое-нибудь руководство по использованию самого CCE, у меня есть только техасовские руководства по компилятору и ассемблеру. Как чайник чайнику рекомендую использовать для разработки кода и отладки IAR Embedded Workbench. Скачивание и лечение неоднократно обсуждалось... И еще - генератор такотовой частоты запускается сразу после подачи питания или его надо сначала сконфигурировать? После сигнала PUC (т.е. включения микроконтроллера) источником для MCLK и SMCLK (основные тактирующие сигналы контроллера) является DCOCLK (цифровой генератор) c частотой около 800 кГц. Если это устраивает, то ничего конфигурировать не нужно, но если вам необходимо стабильное тактирование на определенной частоте от внешнего резонатора/генератора или требуется функционирование DCOCLK на другой частоте, следует сконфигурировать основной модуль тактирования с помощью регистров DCOCTL, BCSCTL1 и BCSCTL2. Тот же вопрос про генератор опорного напряжения. Выбор источника опорного напряжение, его включение и задание напряжения производится посредством регистра ADC10CTL0. Само-собой ничего работать не будет... Если кто наткнется на эту тему - ответьте, пожалуйста. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daria 0 21 мая, 2008 Опубликовано 21 мая, 2008 · Жалоба Большое спасибо! Какой хороший ответ - все ясно и четко, именно для чайника. И именно о таком ответе я мечтала. :) спасибо еще раз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Daria 0 25 мая, 2008 Опубликовано 25 мая, 2008 · Жалоба А вот еще вопрос от чайника. Подскажите, если кто наткнется, какую-нибудь отладку, чтобы работала с IARом в режиме эмулятора, и позволяла бы программировать прямо на плате, т.к.. контроллер(MSP430) уже напаян. Вот какие запросы :) MSP-FET430PIF случаем не подойдет? Если подойдет, можно какую-нибудь ссылочку на схему, в руководстве на MSP-FET есть, но можно как-нибудь попроще и почетче? Заранее спасибо, если кто ответит :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 25 мая, 2008 Опубликовано 25 мая, 2008 · Жалоба А вот еще вопрос от чайника. Подскажите, если кто наткнется, какую-нибудь отладку, чтобы работала с IARом в режиме эмулятора, и позволяла бы программировать прямо на плате, т.к.. контроллер(MSP430) уже напаян. Вот какие запросы :) MSP-FET430PIF случаем не подойдет? Если подойдет, можно какую-нибудь ссылочку на схему, в руководстве на MSP-FET есть, но можно как-нибудь попроще и почетче? Заранее спасибо, если кто ответит :) Не вижу необходимости в создании кросспостов, которые, кстати, запрещены Правилами форума. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendeman 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Здравствуйте! Зашиваю программу в контроллер m430g2553. В отладчике (программаторе) контроллер работает, а на макетной плате - нет. В чем дело? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 17 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Здравствуйте! Зашиваю программу в контроллер m430g2553. В отладчике (программаторе) контроллер работает, а на макетной плате - нет. В чем дело? Для начала найдите 10 отличий. Ну и поподробнее бы.. Что за отладчик? ланчпад? Что за плата, что за программа. Кварцы, питание, блокировочные конденсаторы.. итд Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendeman 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба извиняюсь.. Вы совершенно правы программатор лаунчпад. Программа простая сробоскоп из 2-х светодиодов. На макетной плате только светодиоды и контроллер. Больше ничего не устонавливал. На солько мне известно , то наличие кварца не обязательно. Но я пробовал и сним ( 32 кГц) ничего не работает автономно от лаунчпада. Я так понимаю необходим какой-то обвес для контроллера. Вот и хочу. цзнать какой имнно нужен. Заранее спасибо.. Поиском не ползовался так как пишу с телефона. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 17 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Я так понимаю необходим какой-то обвес для контроллера. Для начала керамику 0,1мкФ непосредственно у ног питания, электролит 10мк тоже не помешает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendeman 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Все, разобрался. На 16 пине (reset) должно быть питание ( через резак 47к) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться