Easyelectronics.ru

Электроника для всех
Текущее время: 20 янв 2019, 10:27

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 15 май 2017, 19:24 
Здравствуйте!

Зарегистрирован: 10 май 2017, 20:57
Сообщения: 2
Всем привет!

Кто-нибудь может помочь с реализацией данной задачки?

Нужно посылать пачку импульсов из 5 импульсов частотой 40 кГц, после чего делать паузу на 200 мкс.
Есть пример:
#include "stdio.h"
#define XTALL 16.0
#define delay_us(us) __delay_cycles (XTALL * us);
#define delay_ms(ms) delay_us (1000 * ms);

void timerA_PWM()
{

TACCR0= 18;

TACCR1=7;

TACCTL1=OUTMOD_7;// + CCIE;

TACTL |= TASSEL_2;
}
void main(void)
{

P1DIR|=BIT6;
ÿ
P1SEL|=BIT6;

WDTCTL=WDTPW+WDTHOLD;
timerA_PWM();
while(1)
{
TACTL |= MC_1; // Timer ON
delay_us(6);
TACTL &= ~MC_1; // Timer OFF
delay_ms(100);
}
_BIS_SR(LPM0_bits+GIE);
}
Но данный алгоритм не работает правильно, на осциллографе первый импульс дрожит в пачке, чего не должно быть.

Предложили через прерывания сделать, но я неочень хорошо умею с ними работать.

Помогите пожалуйста с данной задачей!

Заранее спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 15 май 2017, 21:39 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3087
так делать конечно не очень хорошо, но вообще, чтобы не было джиттера, таймер надо сбрасывать каждый раз:
просто вместо TACTL &= ~MC_1; // Timer OFF
надо сказать TACTL |= TACLR;
только надо учесть что там всё сбрасывается, включая установки предделителя, хотя в данном случае это не важно.

ну или как правильно подсказали 100мс не процессором считать, а в прерывании от таймера, и включать/выключать выход соответственно там же синхронно с таймером тогда тоже ничего дрожжать не будет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 17 май 2017, 00:20 
Старожил
Аватара пользователя

Зарегистрирован: 23 окт 2012, 15:51
Сообщения: 462
Может не совсем по теме.. а не много ли для 1ой серии 16мгц??? Насколько помню (давно было) уже на 12мгц наблюдалась нестабильность работы контроллера...

_________________
#define ? ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 12 дек 2018, 00:10 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 3366
Откуда: КЧР, поселок Нижний Архыз
Мужики, откуда скачать утилиту для прошивки MSP430F149 через бутлоадер (UART)?
А то документации на сайте TI дофига, описание протокола есть, но мне лень писать то, что наверняка существует!! Где это скачать?
Тот же ТС как-то ведь прошивает МК! Не через JTAG же он это делает!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 12 дек 2018, 01:55 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3087
slau654, хотя насколько он bsl умеет - хз.
slau655f вроде то что нужно.
в mspgcc был ещё какой-то msp430-bsl, местами кривоватый правда, когда очень давно для f1 понадобилось немного сложнее чем тупо прошить (ещё и читать, учитывать серийные номера, прошивать отдельные секции с настройками) так и не смог через него сделать из-за каких-то дурацких багов, хотя для того чтобы просто прошить флэш должно хватить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: MSP430f149 Передавать пачку импульсов
СообщениеДобавлено: 12 дек 2018, 02:08 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 3366
Откуда: КЧР, поселок Нижний Архыз
Я даже скачал жирнючего монстра - CCS8.3.xxx. Оно, правда, на жабке, ну да черт с ним. При попытке что-нибудь сделать с МК эта шняга пишет какой-то бред о невозможности коннекта с "COM64". Что за издевательство? Платка висит на /dev/ttyUSB0, и коль уж сделали морду, должна была быть настройка устройства, с которым надо связываться...
Все через одно место!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB