Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задержка 15 мкс в MSP430F149
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
alex_tt
Доброго дня всем присутствующим. Если Вас не затруднит подскажите пожалуйста начинающим, как программно реализовать задержку в 15 мкс для микроконтроллера MSP430F149. Если не трудно, поделитесь примерчиком на Си. Заранее благодарен.
Dmitron
Я знаю волшебное слово таймер, вам подойдёт?
alex_tt
Подойдет, но на такое маленькое время?
rezident
Задержку "чего"? Программы? Внешнего сигнала? Выходного сигнала?
VAI
используйте compare, если нужна временная задержка.
Tran
_NOP();
. . .
_NOP();
smile.gif
Kaplinsky
Цитата(alex_tt @ Mar 31 2006, 14:09) *
Доброго дня всем присутствующим. Если Вас не затруднит подскажите пожалуйста начинающим, как программно реализовать задержку в 15 мкс для микроконтроллера MSP430F149. Если не трудно, поделитесь примерчиком на Си. Заранее благодарен.


А на какой частоте работает MSP-шка ?
Думаю для задержки на 0,000015 с нужно частота ACLK (MCLK) - смотря к чему таймер подключать, больше 66,666 КГц. А дальше программируем таймер

volatile unsigned int timea;
....

//---[TIMER_A]----------
TACCTL0 = OUTMOD_4|CCIE; // CCR0 interrupt enabled
TACCR0 = хххх;
TACTL = TASSEL_1 + MC_1 + TACLR; // ACLK up-mode

....
прерывание:
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void){
if (timea) timea-=1;
}

и функция задержки
....
void Sleep(unsigned int t){
timea=t;
while (timea);
}
=GM=
Цитата(alex_tt @ Mar 31 2006, 10:09) *
Доброго дня всем присутствующим. Если Вас не затруднит подскажите пожалуйста начинающим, как программно реализовать задержку в 15 мкс для микроконтроллера MSP430F149. Если не трудно, поделитесь примерчиком на Си. Заранее благодарен.


Проще всего так

for(i=0;i<nnn;i++);

число nnn подобрать в соответствии с требуемой задержкой
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.