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

 
 
> MSP430F2013 из eZ430-F2013 + IAR для начинающих, MSP430F2013 из eZ430-F2013 + IAR для начинающих
AlexandrM
сообщение Sep 18 2007, 06:10
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 46
Регистрация: 9-07-07
Пользователь №: 28 991



Я программист и раньше писал для ПК, Psion, PalmOS, PocketPC. Сейчас очень хочу изучить МК от TI. Имеется eZ430-F2013, IAR и желание. Но никак не могу понять принципов программирования МК. Прошу помощи. Вот есть такие вопросы:
1. на борту памяти 128Б флеша 2К:
1.1. Программа прошивается в флеш?
1.2. Мне для работы будет доступно 2К минус размер программы?
2. Имеется 100Б параметров (типа номер, пользователь и т.д.) они должны быть записаны во флеш
2.1. Есть стартове значения, как их при прошивки записать во флеш или нужно при первом запуске программы инитить?
3. Таймер. Имею код:
Цитата
#include "msp430x20x1.h"

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //выключили WD
P1DIR |= 0x01; //Порт работает на выход

TACTL = TASSEL_1 + MC_1; //Используем ACLK и движение от 0 до TACCR0
TACCR0 = 1000; //Предел 1000
TACCTL0 = CCIE; //Включить прерывание

_BIS_SR(LPM0_bits + GIE); //Перейти в режим сна
}

#pragma vector=TIMERA0_VECTOR
__interrupt void TIMERA0_ISR(void)
{
P1OUT ^=0x01; //Изменить состояние порта (как я понимаю в порт будет подавать/не подавать постоянно импульс)
}

3.1. Правильно ли я понял код?
3.2. Как сделать чтобы задержка была 1сек? Как вычислять эту цифру?
3.3. Генератор ACLK работает с одинаковой скорость в спящем режиме?
4. Как вычислять скорость выполнения каждой команды?
5. При отладке с использованием Z430-F2013 код прошивается или идет подобие эмуляции?
Пока все вопросы, надеюсь на ответы для человека с уровнем 0.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Sep 18 2007, 15:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата
Тут кто-нибудь работал со второй серией MSP? Какие там особенности есть в плане этого "the internal LF oscillator"?

Да ничего там сложного. Все то же самое что и в серии 1xx за исключением наличия доп. встроенного низкочастотного DCO под названием VLO и возможности переключать номиналы встроенных нагрузочных конденсаторов на выводах XIN/XOUT. А для "просветления" нужно читать не столько datasheet MSP430F2013 сколько MSP430x2xx Family User's Guide wink.gif
Хм, кварца в EZ430 похоже действительно нету. Но при желании можно припаять.
А чтобы поморгать светодиодом на EZ430 с частотой 1Гц попробуйте такую программу. Накидал быстро, но вроде без ошибок smile.gif
Код
#include <msp430x20x3.h>

void main (void)
{ WDTCTL = WDTPW + WDTHOLD;                 // остановим WD_Timer
// ---------------------------------- Инициализация источников тактирования ACLK, MCLK, SMCLK
  DCOCTL = CALDCO_1MHZ;                     // выбор DCO_1MHz
  BCSCTL1 = CALBC1_1MHZ;                    // ACLK=XT2/2=1MHz,
  BCSCTL2 = SELM_0|DIVM_0|DIVS_3;           // MCLK=DCO/1=1МГц, SMCLK=DCO/8=125кГц
// ---------------------------------- Инициализация Port1
  P1OUT = 0;                                // Port 1 сбросим
  P1DIR = BIT0;                             // P1.0 как выход
// ---------------------------------- Инициализация Timer_A
  TACTL = TASSEL_2|ID_1|TACLR;              // выбрать источник тактирования SMCLK/2=62,5кHz
  TACCR0 = 31249;                           // значение регистра CCR0, таймер считает от 0 до CCR0
  TACCTL0 = CCIE;                           // прерывание от CCR0 разрешено
  TACTL |= MC_1;                            // режим Count_UP
//-----------------------------------
  _EINT();                                  // разрешим прерывания
  while(1)                                  // основной программный цикл
  { _NOP();
  }                                         // end while
}                                           // end main

#pragma vector = TIMERA0_VECTOR
#pragma type_attribute=__interrupt
void TimerA0_ISR(void)
{ P1OUT^=BIT0;                              // инвертируем состояние LED
}


P.S. Если вы уже умудрились стереть калиброванные константы для DCO, то строки
Код
  DCOCTL = CALDCO_1MHZ;                     // выбор DCO_1MHz
  BCSCTL1 = CALBC1_1MHZ;                    // ACLK=XT2/2=1MHz,

можно закоментарить. Частота моргания светодиода изменится, но незначительно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AlexandrM   MSP430F2013 из eZ430-F2013 + IAR для начинающих   Sep 18 2007, 06:10
- - jorikdima   Цитата(AlexandrM @ Sep 18 2007, 10:10) Я ...   Sep 18 2007, 07:56
|- - AlexandrM   Цитата(jorikdima @ Sep 18 2007, 10:56) 1....   Sep 18 2007, 08:39
|- - Юрий Санвальд   Цитата(AlexandrM @ Sep 18 2007, 12:39) Во...   Sep 18 2007, 08:58
|- - rezident   Цитата(AlexandrM @ Sep 18 2007, 14:39) Во...   Sep 18 2007, 09:03
|- - AlexandrM   Цитата(rezident @ Sep 18 2007, 12:03) Пос...   Sep 18 2007, 09:41
|- - jorikdima   Цитата(AlexandrM @ Sep 18 2007, 13:41) По...   Sep 18 2007, 09:53
|- - Юрий Санвальд   Цитата(jorikdima @ Sep 18 2007, 13:53) не...   Sep 18 2007, 11:21
|- - jorikdima   Цитата(Юрий Санвальд @ Sep 18 2007, 15:21...   Sep 18 2007, 11:33
|- - Юрий Санвальд   Цитата(jorikdima @ Sep 18 2007, 15:33) не...   Sep 18 2007, 11:42
- - rezident   Цитата(AlexandrM @ Sep 18 2007, 12:10) 1....   Sep 18 2007, 08:34
- - AlexandrM   А существует какой-нибудь примерник элементарных к...   Sep 18 2007, 10:45
|- - Юрий Санвальд   Цитата(AlexandrM @ Sep 18 2007, 14:45) А ...   Sep 18 2007, 11:13
|- - jorikdima   Цитата(AlexandrM @ Sep 18 2007, 14:45) А ...   Sep 18 2007, 11:17
|- - AlexandrM   Цитата(jorikdima @ Sep 18 2007, 14:17) ht...   Sep 18 2007, 11:30
|- - Сергей Борщ   Цитата(AlexandrM @ Sep 18 2007, 14:30) Ес...   Sep 18 2007, 11:39
- - Юрий Санвальд   AlexandrM, разрешите вопрос, почему именно MSP? Дл...   Sep 18 2007, 11:38
|- - AlexandrM   Цитата(Юрий Санвальд @ Sep 18 2007, 14:38...   Sep 18 2007, 12:25
|- - Юрий Санвальд   Цитата(AlexandrM @ Sep 18 2007, 16:25) Во...   Sep 18 2007, 12:41
|- - AlexandrM   Цитата(Юрий Санвальд @ Sep 18 2007, 15:41...   Sep 18 2007, 13:16
|- - Юрий Санвальд   Цитата(AlexandrM @ Sep 18 2007, 17:16) Не...   Sep 18 2007, 13:42
|- - AlexandrM   Цитата(Юрий Санвальд @ Sep 18 2007, 16:42...   Sep 18 2007, 13:50
|- - Юрий Санвальд   Цитата(AlexandrM @ Sep 18 2007, 17:50) Из...   Sep 18 2007, 14:21
- - rezident   Я же вам привел формулу. Период перезагрузки тайме...   Sep 18 2007, 13:42
- - jorikdima   у автора нету кварца. А значит нет 32768! Авт...   Sep 19 2007, 08:18
- - Tech   По MSP430 читать здесь: http://www.compel.ru/libra...   Sep 19 2007, 09:01
- - Юрий Санвальд   Для AlexandrM: Только что проверил код представлен...   Sep 19 2007, 09:03


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

 


RSS Текстовая версия Сейчас: 21st August 2025 - 01:26
Рейтинг@Mail.ru


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