Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запуск MSP430f1222
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
tvilsa
Привет всем.
Такой вопрос.
Спаял программатор типа Olimex на LPT. Собрал макетку для MSP430f1222. Обвязка мк - RST резак на + кондер на -.
Кварц часовой сначала не ставил потом и его припаял.
Программу написал простую включить выхода порта 3 в 1. Писал в ICC430. Вот код:

Код
#include <msp430x12x2.h>
#include <msp430def.h>

void clock_init()
{
DCOCTL=0x00;
BCSCTL2=0x00;
BCSCTL1=0x80;//XT2OFF
}

void port_init()
{
P3OUT=0xFF;
P3DIR=0xFF;
P3SEL=0x00;
}

void main()
{
  while(1)
  {
_STOP_WATCHDOG();
P3OUT=0xFF;
  }
}

Зашиваю с помощью MPSFet от Kurta. Не работает. В чем я накосячил.
И еще такой вопрос. если я правильно понял то часовой кварц необязателен. Мк стартует от DCO на частоте по умолчанию 750кГц?
Заранее спасибо.
VladimirZ
port_init не вызывается, соответсвенно P3 настроен на ввод. И зачем в цикле выводить в порт 0xFF и останавливать WDT?
tvilsa
Да конечно, с port_init это я прогнал последний раз. Я раньше пробывал и с ним.
Сейчас откомпилил вот так:
Код
#include <msp430x12x2.h>
#include <msp430def.h>

void clock_init()
{
DCOCTL=0x00;
BCSCTL2=0x00;
BCSCTL1=0x80;//XT2OFF
}

void port_init()
{
P3OUT=0xFF;
P3DIR=0xFF;
P3SEL=0x00;
}

void main()
{
clock_init();
port_init();
P3OUT=0xFF;  
while(1)
  {
  }
}

залил. не работает.
А разве если не сбрасывать вач дог то мк не сбросится?
Сергей Борщ
Цитата(tvilsa @ Jan 28 2009, 10:23) *
Сейчас откомпилил вот так:
Используйте, пожалуйста, кнопочку  для оформления исходников в ваших сообщениях.
Цитата(tvilsa @ Jan 28 2009, 10:23) *
залил. не работает.
Расшифруйте термин "не работает". Что вы ожидаете от МК и что вы получаете?
Цитата(tvilsa @ Jan 28 2009, 10:23) *
А разве если не сбрасывать вач дог то мк не сбросится?
Если собака работает - сбросится. Если она остановлена (выключена) - не сбросится. Судя по названию, _STOP_WATCHDOG() останавливает собаку. Это достаточно сделать один раз.
tvilsa
ожидаю что при включении на линиях порта 3 будет лог 1. После включения питания на выводах 0.
На счет оформления учту. Спасибо.
VladimirZ
Посмотрите примеры от TI. ti.com/litv/zip/slac013f
tvilsa
Сделал вот так:
Код
#include  <msp430x12x2.h>

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  P3DIR = 0xff;                            // Set P1.0 to output direction
  for (;;)
  {
    volatile unsigned int i;
    P3OUT = 0xff;                          // Toggle P1.0 using exclusive-OR
    i = 50000;                              // Delay
    do (i--);
    while (i != 0);
  }
}


Зашил не мигает.
Кварц внешний не вешал. Кто нибудь дайте hex который просто включит все ноги порта 3 в 1 (без кварца внешнего, только от DCO) . Хоть проверить что железо работает.
Спасибо .
MrYuran
Может, конечно, я и не прав, (в данном конкретном случае),
но на все неиспользуемые прерывания нужно повесить заглушки.
Ещё проверьте, совпадает ли кристалл, указанный в опцицях MPSFet от Kurta, с вашим.
Иначе можно отправить прошивку в несуществующую область флеши.
Нелишним была бы верификация после записи.

Цитата(tvilsa @ Jan 28 2009, 13:20) *
Зашил не мигает.

Он и не должен мигать.
Просто тупо включится и всё.
tvilsa
Спасибо всем. заработало после того как отключил RST от программатора. Он разве не нужен? У меня и без него прекрасно шьется.
Удачи всем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.