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

 
 
> MSP430 + Timer + Interrupt, Вопросы
Niketa
сообщение Feb 6 2014, 14:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 1-02-14
Пользователь №: 80 290



Читаю Student Guide and Lab Manual и Family User's Guide и стали мне непонятны некоторые строки из кода лабораторной.
В лабораторной 4 нашел пример кода.
Детально с ним разобрался,но некоторые вещи мне непонятны.


Код
#include <msp430g2553.h>

volatile unsigned int i;

void ConfigWDT(void);
void ConfigClocks(void);
void ConfigLEDs(void);
void ConfigTimerA2(void);

void main(void)
{
  ConfigWDT();
  ConfigClocks();
  ConfigLEDs();
  ConfigTimerA2();

  _BIS_SR(GIE);   // РАЗРЕШАЕМ ПРЕРЫВАНИЕ - ЭТО ПОНЯТНО

  while(1)
  {
   P1OUT |= BIT0;
   for (i = 100; i > 0; i--);
   P1OUT &= ~BIT0;
   for (i = 5000; i > 0; i--);
  }
}

void ConfigWDT(void)
{
WDTCTL = WDTPW + WDTHOLD;                     // Stop watchdog timer
}

void ConfigClocks(void)    // НЕПОНЯТНАЯ ЧАСТЬ,НО ОНА У ВСЕХ ПРИСУТСТВУЕТ,Я РЕШИЛ ОСТАВИТЬ
{
  BCSCTL1 = CALBC1_1MHZ;                     // Set range
  DCOCTL = CALDCO_1MHZ;                      // Set DCO step + modulation
}

void ConfigLEDs(void)
{
  P1DIR = BIT6 + BIT0;                      // P1.6 and P1.0 outputs
  P1OUT = 0;                                // LEDs off
}

void ConfigTimerA2(void)
  {
   TACCR0 = 62500 - 1;    // Период в 62,500 цикла, от 0 до 62,499.                    /// ПОЧЕМУ 62500 ОТСТЧЕТОВ ВСЕГО ????????
   TACCTL0 = CCIE;        // Разрешаем прерывание таймера по достижению значения CCR0.    // ЭТО ПОНЯТНО
   TACTL = TASSEL_2     // ПОНЯЛ ЧТО ЭТО ВЫБОР ИСТОЧНИКА ТАКТОВОГО СИГНАЛА, НО В ЧЕМ МЕЖДУ НИМИ РАЗНИЦА ? ГДЕ ПРОЧЕСТЬ ?
               + ID_3           // ЭТО ПОНЯТНО. НО КАКАЯ ИЗНАЧАЛЬНАЯ ЧАСТОТА КОТОРУЮ МЫ ДЕЛИМ ?
                + MC_1;     // ПОНЯТНО
  }

#pragma vector=TIMER0_A0_VECTOR          // НИ В ОДНОЙ ИЗ ВЫШЕ ОПИСАННЫХ КНИЖЕК НЕ НАПИСАНО ПОЧЕМУ ТАКОЙ СИНТАКСИС
__interrupt void Timer_A (void)                     // ПОЧЕМУ ТАКОЙ СИНТАКСИС ?
{
  P1OUT ^=BIT6;                                 
}



1. Если выше описано что в таймере 62500 отсчетов. А так же включен делитель частоты /8 - то изначальная частота была 8 *62500 = 500кГц ???
Т.е. SMCLK что в коде включен имеет такую частоту ?

2. Как мне реализовать 2 таймера ?
Мне нужно чтоб один обращался к прерыванию с частотой 48кГц , а второй 200 Гц.
Идея в том что 48кГц будет забираться данные с АЦП , потом еще и фильтроваться будет.
А 200гц - вывод на индикатор



Сообщение отредактировал Niketa - Feb 6 2014, 15:03
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Niketa   MSP430 + Timer + Interrupt   Feb 6 2014, 14:17
- - E.V.G.   1. Частота прерываний от TACCR0=SMCLK/ID3/TACCR0=1...   Feb 6 2014, 20:23
- - Niketa   Вот я написал Код. С частотой 40кГц считывается АЦ...   Feb 7 2014, 13:15
- - Mihey_K   1. Смотрите внимательно юзер мануал Пример реализ...   Feb 7 2014, 14:52
- - Niketa   1. Я знаю что что неправильно АЦП включать в преры...   Feb 7 2014, 17:13
- - Mihey_K   Цитата3. Частота маловата. в комплекте есть такой ...   Feb 8 2014, 03:39
|- - rezident   Цитата(Mihey_K @ Feb 8 2014, 08:39) Чтобы...   Feb 8 2014, 11:46
- - Mihey_K   Rezident, хорошее пояснение. Скажу честно, не замо...   Feb 8 2014, 13:17
|- - rezident   Цитата(Mihey_K @ Feb 8 2014, 18:17) Друго...   Feb 8 2014, 17:54
- - Niketa   АЦП считывает с частотой 40кГц по таймеру Так же ...   Feb 9 2014, 22:27
|- - rezident   Цитата(Niketa @ Feb 10 2014, 03:27) АЦП с...   Feb 10 2014, 03:46
- - Mihey_K   Ёшкин кот, зачем математику-то всю в прерывание за...   Feb 10 2014, 06:41
- - Niketa   RE: MSP430 + Timer + Interrupt   Feb 15 2014, 20:43
- - Niketa   //////////////////////////////////////////////////...   Feb 16 2014, 13:13
- - PRidon   Куча примеров на сайте TI. Прям под твой МК. И уар...   Feb 17 2014, 07:22


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

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 12:46
Рейтинг@Mail.ru


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