Найдено 25 результатов

Terminator_2017
Вт май 23, 2017 12:10:11
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Большущее спасибо Вам, Ser60!

Я поменяла тип и получилось сделать паузу в 250 мсек.

Но скорее всего не работает режим захвата.
Пытаюсь проверить что происходит заход в прерывание таймера Б - пытаюсь зажечь диод.
Но безуспешно:
#include "msp430f149.h"

#define PULSE_CNT 4 // # of pulses in a burst ...
Terminator_2017
Вс май 21, 2017 21:14:24
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

0,5 метров не связано ни с чем. Просто максимальное время паузы можно сделать - 7 мсек, а это как раз 0,5 м.
Пыталась с помощью delay(); попробовать сделать задержку, но не выходит сделать больше паузу чем 7 мсек. Вопрос мой тот же, как реализовать паузу в 1 сек? Что такое прескейлер, а также что ...
Terminator_2017
Вс май 21, 2017 20:04:07
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Скорее всего это частота осциллятора DCO, так как я в коде не подключаю внешний кварц.
Да, вы правы, это схема локатора, который должен измерять расстояние до 3-х метров.
3 метра это около 0,018 сек. Сейчас я могу добиться только измерения расстояния до 0.5 метров.
Так как используется ...
Terminator_2017
Пт май 19, 2017 21:25:12
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Большое спасибо за вашу помощь!!)

Сегодня я смогла добраться до осциллографа и посмотреть что происходит.
Пачки излучаются, но нужна все-таки больше пауза. Я пыталась поменять в #define PAUSE_CNT 10 // pause duration значение на 2000, но мах задержка 7.5 мсек. Как можно увеличить до секунды ...
Terminator_2017
Чт май 18, 2017 22:25:02
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Исправила, но все равно зациклился в обработчике(
Terminator_2017
Чт май 18, 2017 21:53:18
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

А не могли бы Вы объяснить, почему при выполнении кода пошагово, все застревает в прерывании Таймера А? Что-то я забыла добавить?

#include "msp430f149.h"

#define PULSE_CNT 5 // # of pulses in a burst
#define PAUSE_CNT 10 // pause duration

void Ports_config();
void TimerA_config();
char timerMode ...
Terminator_2017
Ср май 17, 2017 22:27:23
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Большое спасибо за листинг!

В данном примере
#pragma vector=TIMER0_A0_VECTOR // TimerA handler
__interrupt void TimerA_ISR(void)
{
if (P1IN & P1) // button is released
{
duration = TACCR0 - lastCapture;
__low_power_mode_off_on_exit();
}
lastCapture = TACCR0;
TA0CCTL0_bit.CCIFG = 0 ...
Terminator_2017
Ср май 17, 2017 08:59:42
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Задача в том, чтобы отправлять пачку импульсов с таймера А на ультразвуковой датчик, излучать, а затем принимать усиленный отраженный сигнал на вход таймера В.

Прерывания таймера В должны происходить тогда, когда на вход его поступает отраженный сигнал. Нужно выводить время с начала запуска таймера ...
Terminator_2017
Вт май 16, 2017 21:06:00
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Вообще задача в том, чтобы отправлять с таймера А пачку импульсов и принимать пришедший сигнал на таймер В.

Решила постепенно разбираться.
Сейчас мне не понятно, почему в прерывании не выполняются условия.
Также есть вопрос, как добавить в данный код работу таймера В.

Есть еще вопрос почему код по ...
Terminator_2017
Вт май 16, 2017 20:03:47
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Вот полностью весь код:

#include "msp430f149.h"

#define PULSE_CNT 5 // # of pulses in a burst
#define PAUSE_CNT 10 // pause duration

void Ports_config();
void TimerA_config();
char timerMode; // 0: burst, 1:pause
char pulseCnt, pauseCnt;

void wait( volatile int i ){
while ( i-- > 0 );
}

void ...
Terminator_2017
Вт май 16, 2017 19:43:28
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Спасибо большое за пример кода!

Подскажите, а для чего цикл while?

А также я немного переделала под свой мсп и код прерывания получился такой:
#pragma vector=TIMER0_A1_VECTOR // TimerA handler
__interrupt void TimerA_ISR(void)
{

//(TACTL & TAIFG)=0;
// TA0CTL_bit.TAIFG = 0; // clear TimerA ...
Terminator_2017
Пн май 15, 2017 16:44:23
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Добрый день, Ser60

Период одного импульса 25 мкс (9 сек длительность импульса) Я тактирую от внутреннего генератора (720 кГц), поэтому вот такие значения соответствуют: TACCR0= 18; и TACCR1=7;
Пачка состоит из 5 импульсов = 125 мкс длительность одной пачки

Пауза между пачками должна быть около 200 ...
Terminator_2017
Пн май 15, 2017 16:09:00
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Добрый день,

Не поняла про три таймера.

Возможно можно как-то использовать лишь ССR0 и прерывание?

На одном из форумов мне предложили следующий алгоритм:"Use the CCR0 interrupt to count the number of periods, after counting to five then turn off the output accordingly and readjust the value of ...
Terminator_2017
Пн май 08, 2017 11:08:26
Форум: Разные вопросы по МК
Тема: MSP430 Не происходит прерывание
Ответы: 0
Просмотры: 926

MSP430 Не происходит прерывание

Добрый день!

Подскажите, пожалуйста, почему в режиме захвата не происходит прерывание?
Вот листинг:
void main(void)
{
//Использование ножки P4.0 Таймер В
P4SEL=BIT0;
//Использование ножки Р1.0 Светодиод
P1DIR |= BIT0;
P1SEL|=BIT0;
P1DIR &= ~BIT0;
timerB_init();
_BIS_SR(LPM0_bits+GIE);
}

void ...
Terminator_2017
Ср май 03, 2017 17:23:59
Форум: Разные вопросы по МК
Тема: MSP430 Таймер А в режиме захвата
Ответы: 1
Просмотры: 1124

MSP430 Таймер А в режиме захвата

Добрый день,

Есть ли у кого-то пример листинга с реализацией таймера А в режиме захвата и вывод результата в зависимости от условий на светодиод?
Нужно реализовать прием отраженного сигнала на вход МК.

Заранее спасибо!
Terminator_2017
Ср май 03, 2017 17:18:35
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Товарищи,

А как можно реализовать все-таки через прерывания
К сожалению способ выше заставляет первый и последний импульс в пачке дрожать + нужно в паузу реализовать включение таймера А в режиме захвата
Terminator_2017
Сб апр 15, 2017 11:21:20
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Пробовала и P1OUT &= ~(1<<6);, но все равно чередуется, то задержка на низком, то на высоком уровне
Terminator_2017
Сб апр 15, 2017 10:36:16
Форум: Разные вопросы по МК
Тема: MSP430 Генерация пачки импульсов при помощи таймера А
Ответы: 40
Просмотры: 10442

Re: MSP430 Генерация пачки импульсов при помощи таймера А

Не получается все равно сделать так, чтобы после подачи импульсов был низкий уровень.
Пробовала так:
WDTCTL=WDTPW+WDTHOLD;

timerA_PWM();
while(1)
{
TACTL |= MC_1; // Timer ON
delay_us(125);
TACTL &= ~MC_1; // Timer OFF
P1OUT &= ~(1<<7);
delay_ms(100);
}

Что я делаю не так?
Terminator_2017
Чт апр 13, 2017 11:16:48
Форум: Разные вопросы по МК
Тема: MSP430f149 Режим захвата на таймере В
Ответы: 4
Просмотры: 1541

Re: MSP430f149 Режим захвата на таймере В

Alex, добрый день

Задача следующая: Необходимо высчитывать время между отправкой и приемом отраженного ультразвукового сигнала.

Как-то нужно принимать данный сигнал на входе МК, останавливать счетчик, пересчитывать время и выводить результат.

Сначала я думала, что можно обойтись только Таймером ...
Terminator_2017
Чт апр 13, 2017 10:43:55
Форум: Разные вопросы по МК
Тема: MSP430f149 Режим захвата на таймере В
Ответы: 4
Просмотры: 1541

Re: MSP430f149 Режим захвата на таймере В

Друзья, очень нужна ваша помощь!

Посмотрев пару примеров реализации данной задачи я поняла, что необходимо использовать компаратор (pin 2.3/ca0/ta1).

Подскажите, пожалуйста, как реализовать такую задачу через компаратор и таймер В?
Можно ли производить расчеты при помощи Таймера В без его ...

Перейти к расширенному поиску