Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2019-сен-18 14:29

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 2014-ноя-13 00:16 
Не в сети

Зарегистрирован: 2014-ноя-09 09:08
Сообщения: 5
Добрый вечер!
Подскажите пожалуйста как в 1986ВЕ92У прервать выполнение текущей передачи DMA?
И второй вопрос: как грамотно организовать бесконечное повторение операции вывода в DMA по прерыванию? (Базовый режим)
В данный момент реализовано вот так, хотелось бы узнать верно ли это?
Код:
void DMA_IRQHandler(void)
{
   extern DMA_CtrlDataTypeDef DMA_ControlTable[DMA_Channels_Number * (1 + DMA_AlternateData)];
   
   if (!(DMA_ControlTable[DMA_Channel_TIM2].DMA_Control & 0x3))
   {
      DMA_ControlTable[DMA_Channel_TIM1].DMA_Control |= ((array_size - 1) << 4) | DMA_Mode_Basic;
      DMA_Cmd(DMA_Channel_TIM1, ENABLE);
   }   
}


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 5


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

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB