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

 
 
> Не стартует MSP430F2481 от XT2CLK
Vladimir_T
сообщение Sep 17 2008, 07:28
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Здравствуйте, уважаемые, коллеги, столкнулся с такой проблемой. Есть отлаженное устройство на базе MSP430F149, понадобилось быстродействие и вместо него на одну из плат установлен MSP430F2481. ИАР 4.10 его поддерживает и отладка работает, но процессор не желает переходить на тактирование от XT2CLK. Уже прочел всю доступную документацию и Errata и не нашел каких-либо различий между этими процессорами в данном аспекте. Тест-программа с сайта Texas. Процессор бесконечно ожидает флаг OFIFG, т.е. генератор не желает запускаться. Перепробовал все: и кварцы менял, и емкости, а толку - нет. Если кто встречался с этой штукой, подскажите.
Код
#include  <msp430x24x.h>

volatile unsigned int i;

int main( void )
{  
// Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  
  BCSCTL1 &= ~XT2OFF;                       // Activate XT2 high freq xtal
  BCSCTL3 |= XT2S_2;                         // 3 – 16MHz crystal or resonator

  do
  {
    IFG1 &= ~OFIFG;                         // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--);             // Time for flag to set
  }
  while (IFG1 & OFIFG);                     // OSCFault flag still set?

  BCSCTL2 |= SELM_2;                        // MCLK = XT2 HF XTAL (safe)    
  P2DIR |= 0xff;
while (1)
{
  P2OUT ^= 0xff;
}  
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vladimir_T
сообщение Sep 24 2008, 08:37
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 517
Регистрация: 7-02-06
Пользователь №: 14 073



Процессор стартeет на DCO и возвращается к тактированию от него же в случае сбоя при работе XT1 или XT2, но тут другое: почему XT1 так влияет на XT2?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 24 2008, 09:19
Сообщение #3


Гуру
******

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



Цитата(Vladimir_T @ Sep 24 2008, 11:37) *
Процессор стартует на DCO и возвращается к тактированию от него же в случае сбоя при работе XT1 или XT2, но тут другое: почему XT1 так влияет на XT2?
Давайте по порядку.
1)Что в вашем понятии "не стартует"? В моем понимании это означает "не выполняет программу вообще, как будто подан сигнал Reset". В вашем случае это, по-видимому, не так - программу он выполняет, но она циклится на сбросе OFIFG. Так?
2)Программа ваша до сих пор выглядит как в первом сообщении? Вы не воспользовались советом rezidentа и не заменили накладывание масок в начале программы на запись начального значения?
3)Если ваша программа циклится на сбросе флага, то надо внимательно читать документацию именно про этот флаг. Наверняка там будет сказано, в каких случаях XT1 влияет на этот флаг.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 03:25
Рейтинг@Mail.ru


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