реклама на сайте
подробности

 
 
> DAC + DMA в STM32F2xx
Acvarif
сообщение Feb 14 2012, 07:21
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Пытаюсь запустить DAC STM32f217 в режиме работы от DMA.
В некую переменную int ForDAC2Value (переменная в памяти) переносятся данные преобразования ADC (по прерываниям конца преобразования).
Инициализирую DAC2 + DMA1 для того, чтобы с помощью DMA1 перенести значение ForDAC2Value в DAC2
CODE

__IO uint16_t ForDAC2Value = 0;

void DAC_Config(void)
{
DAC_InitTypeDef DAC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;

/* Enable DAC2, DMA1 and GPIO clocks ****************************************/
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1 | RCC_AHB1Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

/* Configure DAC2 pin as analog input ***************************************/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* DMA1 Stream6 channel7 configuration **************************************/

DMA_InitStructure.DMA_Channel = DMA_Channel_7;
DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&(DAC->DHR12R2);
DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ForDAC2Value;
DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral;
DMA_InitStructure.DMA_BufferSize = 1;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;
DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull;
DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;
DMA_Init(DMA1_Stream6, &DMA_InitStructure);
DMA_Cmd(DMA1_Stream6, ENABLE);

// конфигурируем ЦАП
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_2, &DAC_InitStructure);

/* Enable DAC */
DAC_Cmd(DAC_Channel_2, ENABLE);

DAC_DMACmd(DAC_Channel_2, ENABLE);
}


Не работает.
Если сделать в прерываниях по концу преобразования ADC просто DAC->DHR12R2 = ForDAC2Value; (перенос данных с пом. процессора)
Все работает нормально.
Просмотрите код please, кому не лень. В чем тут проблема?

Сообщение отредактировал Acvarif - Feb 14 2012, 08:05
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Acvarif   DAC + DMA в STM32F2xx   Feb 14 2012, 07:21
- - Acvarif   Полная ерунда получается с DAC. Без DMA работает....   Feb 15 2012, 08:48
|- - Acvarif   Откликнитесь кто запускал DAC stm32f2xx от DMA. D...   Feb 17 2012, 06:39
|- - Acvarif   Цитата(Acvarif @ Feb 17 2012, 09:39) Откл...   Feb 21 2012, 19:15
|- - scifi   Цитата(Acvarif @ Feb 21 2012, 23:15) Похо...   Feb 21 2012, 19:35
|- - Acvarif   Цитата(scifi @ Feb 21 2012, 23:35) Подтве...   Feb 22 2012, 06:12
|- - scifi   Цитата(Acvarif @ Feb 22 2012, 10:12) Полу...   Feb 22 2012, 06:49
|- - Acvarif   Цитата(scifi @ Feb 22 2012, 10:49) В реги...   Feb 22 2012, 07:14
|- - scifi   Цитата(Acvarif @ Feb 22 2012, 11:14) Поня...   Feb 22 2012, 07:23
||- - Acvarif   Цитата(scifi @ Feb 22 2012, 11:23) Номер ...   Feb 22 2012, 07:39
|||- - scifi   Цитата(Acvarif @ Feb 22 2012, 11:39) По п...   Feb 22 2012, 07:44
||||- - Acvarif   Цитата(scifi @ Feb 22 2012, 11:44) Что-то...   Feb 22 2012, 07:58
|||- - scifi   Цитата(Acvarif @ Feb 22 2012, 11:39) (92....   Feb 22 2012, 08:34
|||- - Acvarif   Цитата(scifi @ Feb 22 2012, 12:34) Я дума...   Feb 22 2012, 08:39
|||- - scifi   Цитата(Acvarif @ Feb 22 2012, 12:39) Уже ...   Feb 22 2012, 08:42
||- - Sekat   Цитата(scifi @ Feb 22 2012, 11:23) Конечн...   Mar 4 2012, 11:33
||- - Sekat   Цитата(Sekat @ Mar 4 2012, 15:33) В чем г...   Mar 4 2012, 13:31
||- - Sekat   Цитата(Sekat @ Mar 4 2012, 17:31) 4. Что ...   Mar 6 2012, 06:15
|- - AHTOXA   Цитата(Acvarif @ Feb 22 2012, 13:14) В пр...   Feb 22 2012, 07:54
- - uriy   Пытаюсь запустить DAC+DMA на STM32F105 тоже на пол...   Feb 22 2012, 05:01
|- - AHTOXA   Вот рабочий код для генераци треугольника или шума...   Feb 22 2012, 05:20
- - uriy   AHTOXA генератор треугольника у меня тоже работает...   Feb 22 2012, 07:56
- - uriy   Как это понимать? КодTIM2->CR1 = 0; // co...   Feb 22 2012, 08:21
|- - AHTOXA   Опечатка, должно быть TIM6. Но и так будет работат...   Feb 22 2012, 08:29
- - uriy   AHTOXA спасибо! Все заработало проблема была в...   Feb 22 2012, 10:56
- - Flexz   По неработающей периферии - посмотрите раздел ...   Mar 6 2012, 06:28
- - Sekat   Цитата(Flexz @ Mar 6 2012, 10:28) По нера...   Mar 6 2012, 12:03


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016