Большущее спасибо Вам, Ser60!
Я поменяла тип и получилось сделать паузу в 250 мсек.
Но скорее всего не работает режим захвата.
Пытаюсь проверить что происходит заход в прерывание таймера Б - пытаюсь зажечь диод.
Но безуспешно:
#include "msp430f149.h"
#define PULSE_CNT 4 // # of pulses in a burst ...
Найдено 25 результатов
- Вт май 23, 2017 12:10:11
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
- Вс май 21, 2017 21:14:24
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
0,5 метров не связано ни с чем. Просто максимальное время паузы можно сделать - 7 мсек, а это как раз 0,5 м.
Пыталась с помощью delay(); попробовать сделать задержку, но не выходит сделать больше паузу чем 7 мсек. Вопрос мой тот же, как реализовать паузу в 1 сек? Что такое прескейлер, а также что ...
Пыталась с помощью delay(); попробовать сделать задержку, но не выходит сделать больше паузу чем 7 мсек. Вопрос мой тот же, как реализовать паузу в 1 сек? Что такое прескейлер, а также что ...
- Вс май 21, 2017 20:04:07
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Скорее всего это частота осциллятора DCO, так как я в коде не подключаю внешний кварц.
Да, вы правы, это схема локатора, который должен измерять расстояние до 3-х метров.
3 метра это около 0,018 сек. Сейчас я могу добиться только измерения расстояния до 0.5 метров.
Так как используется ...
Да, вы правы, это схема локатора, который должен измерять расстояние до 3-х метров.
3 метра это около 0,018 сек. Сейчас я могу добиться только измерения расстояния до 0.5 метров.
Так как используется ...
- Пт май 19, 2017 21:25:12
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Большое спасибо за вашу помощь!!)
Сегодня я смогла добраться до осциллографа и посмотреть что происходит.
Пачки излучаются, но нужна все-таки больше пауза. Я пыталась поменять в #define PAUSE_CNT 10 // pause duration значение на 2000, но мах задержка 7.5 мсек. Как можно увеличить до секунды ...
Сегодня я смогла добраться до осциллографа и посмотреть что происходит.
Пачки излучаются, но нужна все-таки больше пауза. Я пыталась поменять в #define PAUSE_CNT 10 // pause duration значение на 2000, но мах задержка 7.5 мсек. Как можно увеличить до секунды ...
- Чт май 18, 2017 22:25:02
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Исправила, но все равно зациклился в обработчике(
- Чт май 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 ...
#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 ...
- Ср май 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 ...
В данном примере
#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 ...
- Ср май 17, 2017 08:59:42
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Задача в том, чтобы отправлять пачку импульсов с таймера А на ультразвуковой датчик, излучать, а затем принимать усиленный отраженный сигнал на вход таймера В.
Прерывания таймера В должны происходить тогда, когда на вход его поступает отраженный сигнал. Нужно выводить время с начала запуска таймера ...
Прерывания таймера В должны происходить тогда, когда на вход его поступает отраженный сигнал. Нужно выводить время с начала запуска таймера ...
- Вт май 16, 2017 21:06:00
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Вообще задача в том, чтобы отправлять с таймера А пачку импульсов и принимать пришедший сигнал на таймер В.
Решила постепенно разбираться.
Сейчас мне не понятно, почему в прерывании не выполняются условия.
Также есть вопрос, как добавить в данный код работу таймера В.
Есть еще вопрос почему код по ...
Решила постепенно разбираться.
Сейчас мне не понятно, почему в прерывании не выполняются условия.
Также есть вопрос, как добавить в данный код работу таймера В.
Есть еще вопрос почему код по ...
- Вт май 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 ...
#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 ...
- Вт май 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 ...
Подскажите, а для чего цикл while?
А также я немного переделала под свой мсп и код прерывания получился такой:
#pragma vector=TIMER0_A1_VECTOR // TimerA handler
__interrupt void TimerA_ISR(void)
{
//(TACTL & TAIFG)=0;
// TA0CTL_bit.TAIFG = 0; // clear TimerA ...
- Пн май 15, 2017 16:44:23
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Добрый день, Ser60
Период одного импульса 25 мкс (9 сек длительность импульса) Я тактирую от внутреннего генератора (720 кГц), поэтому вот такие значения соответствуют: TACCR0= 18; и TACCR1=7;
Пачка состоит из 5 импульсов = 125 мкс длительность одной пачки
Пауза между пачками должна быть около 200 ...
Период одного импульса 25 мкс (9 сек длительность импульса) Я тактирую от внутреннего генератора (720 кГц), поэтому вот такие значения соответствуют: TACCR0= 18; и TACCR1=7;
Пачка состоит из 5 импульсов = 125 мкс длительность одной пачки
Пауза между пачками должна быть около 200 ...
- Пн май 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 ...
Не поняла про три таймера.
Возможно можно как-то использовать лишь СС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 ...
- Пн май 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 ...
Подскажите, пожалуйста, почему в режиме захвата не происходит прерывание?
Вот листинг:
void main(void)
{
//Использование ножки P4.0 Таймер В
P4SEL=BIT0;
//Использование ножки Р1.0 Светодиод
P1DIR |= BIT0;
P1SEL|=BIT0;
P1DIR &= ~BIT0;
timerB_init();
_BIS_SR(LPM0_bits+GIE);
}
void ...
- Ср май 03, 2017 17:23:59
- Форум: Разные вопросы по МК
- Тема: MSP430 Таймер А в режиме захвата
- Ответы: 1
- Просмотры: 1124
MSP430 Таймер А в режиме захвата
Добрый день,
Есть ли у кого-то пример листинга с реализацией таймера А в режиме захвата и вывод результата в зависимости от условий на светодиод?
Нужно реализовать прием отраженного сигнала на вход МК.
Заранее спасибо!
Есть ли у кого-то пример листинга с реализацией таймера А в режиме захвата и вывод результата в зависимости от условий на светодиод?
Нужно реализовать прием отраженного сигнала на вход МК.
Заранее спасибо!
- Ср май 03, 2017 17:18:35
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Товарищи,
А как можно реализовать все-таки через прерывания
К сожалению способ выше заставляет первый и последний импульс в пачке дрожать + нужно в паузу реализовать включение таймера А в режиме захвата
А как можно реализовать все-таки через прерывания
К сожалению способ выше заставляет первый и последний импульс в пачке дрожать + нужно в паузу реализовать включение таймера А в режиме захвата
- Сб апр 15, 2017 11:21:20
- Форум: Разные вопросы по МК
- Тема: MSP430 Генерация пачки импульсов при помощи таймера А
- Ответы: 40
- Просмотры: 10442
Re: MSP430 Генерация пачки импульсов при помощи таймера А
Пробовала и P1OUT &= ~(1<<6);, но все равно чередуется, то задержка на низком, то на высоком уровне
- Сб апр 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);
}
Что я делаю не так?
Пробовала так:
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);
}
Что я делаю не так?
- Чт апр 13, 2017 11:16:48
- Форум: Разные вопросы по МК
- Тема: MSP430f149 Режим захвата на таймере В
- Ответы: 4
- Просмотры: 1541
Re: MSP430f149 Режим захвата на таймере В
Alex, добрый день
Задача следующая: Необходимо высчитывать время между отправкой и приемом отраженного ультразвукового сигнала.
Как-то нужно принимать данный сигнал на входе МК, останавливать счетчик, пересчитывать время и выводить результат.
Сначала я думала, что можно обойтись только Таймером ...
Задача следующая: Необходимо высчитывать время между отправкой и приемом отраженного ультразвукового сигнала.
Как-то нужно принимать данный сигнал на входе МК, останавливать счетчик, пересчитывать время и выводить результат.
Сначала я думала, что можно обойтись только Таймером ...
- Чт апр 13, 2017 10:43:55
- Форум: Разные вопросы по МК
- Тема: MSP430f149 Режим захвата на таймере В
- Ответы: 4
- Просмотры: 1541
Re: MSP430f149 Режим захвата на таймере В
Друзья, очень нужна ваша помощь!
Посмотрев пару примеров реализации данной задачи я поняла, что необходимо использовать компаратор (pin 2.3/ca0/ta1).
Подскажите, пожалуйста, как реализовать такую задачу через компаратор и таймер В?
Можно ли производить расчеты при помощи Таймера В без его ...
Посмотрев пару примеров реализации данной задачи я поняла, что необходимо использовать компаратор (pin 2.3/ca0/ta1).
Подскажите, пожалуйста, как реализовать такую задачу через компаратор и таймер В?
Можно ли производить расчеты при помощи Таймера В без его ...