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

 
 
> Запуск MSP430f1222, Не включается MSP
tvilsa
сообщение Jan 28 2009, 06:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Привет всем.
Такой вопрос.
Спаял программатор типа 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кГц?
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
VladimirZ
сообщение Jan 28 2009, 07:45
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 8-02-05
Из: Харьков
Пользователь №: 2 496



port_init не вызывается, соответсвенно P3 настроен на ввод. И зачем в цикле выводить в порт 0xFF и останавливать WDT?
Go to the top of the page
 
+Quote Post
tvilsa
сообщение Jan 28 2009, 08:23
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Да конечно, с 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)
  {
  }
}

залил. не работает.
А разве если не сбрасывать вач дог то мк не сбросится?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 28 2009, 08:46
Сообщение #4


Гуру
******

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



Цитата(tvilsa @ Jan 28 2009, 10:23) *
Сейчас откомпилил вот так:
Используйте, пожалуйста, кнопочку  для оформления исходников в ваших сообщениях.
Цитата(tvilsa @ Jan 28 2009, 10:23) *
залил. не работает.
Расшифруйте термин "не работает". Что вы ожидаете от МК и что вы получаете?
Цитата(tvilsa @ Jan 28 2009, 10:23) *
А разве если не сбрасывать вач дог то мк не сбросится?
Если собака работает - сбросится. Если она остановлена (выключена) - не сбросится. Судя по названию, _STOP_WATCHDOG() останавливает собаку. Это достаточно сделать один раз.


--------------------
На любой вопрос даю любой ответ
"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
tvilsa
сообщение Jan 28 2009, 09:04
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



ожидаю что при включении на линиях порта 3 будет лог 1. После включения питания на выводах 0.
На счет оформления учту. Спасибо.
Go to the top of the page
 
+Quote Post
VladimirZ
сообщение Jan 28 2009, 09:45
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 8-02-05
Из: Харьков
Пользователь №: 2 496



Посмотрите примеры от TI. ti.com/litv/zip/slac013f
Go to the top of the page
 
+Quote Post
tvilsa
сообщение Jan 28 2009, 10:20
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Сделал вот так:
Код
#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) . Хоть проверить что железо работает.
Спасибо .
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jan 28 2009, 10:30
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

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

Он и не должен мигать.
Просто тупо включится и всё.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
tvilsa
сообщение Jan 28 2009, 12:25
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Спасибо всем. заработало после того как отключил RST от программатора. Он разве не нужен? У меня и без него прекрасно шьется.
Удачи всем.
Go to the top of the page
 
+Quote Post

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

 


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


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