Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-фев-17 12:40

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 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+03:00


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

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


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB