Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 07.02.2106
Сообщений: 1,605
1

STM32F4Discovery - ADC DMA и FSMC DMA

11.10.2013, 23:36. Просмотров 5153. Ответов 4
Метки нет (Все метки)

Привет всем.

Вынужден опять обратиться за Вашей помощью :)

Ситуация такая.

1. Дисплей работает через FSMC. Написал драйвер FSMC, там есть функция, выводящая данные на дисплей через DMA.

2. Написал модуль для оцифровки стерео сигнала через ADC1 и ADC2. Захват по таймеру, заполнение буфера через DMA.

Оба куска по отдельности работают нормально.
Проблема в том, что они оба используют DMA2 Channel0 и поэтому я не могу использовать их одновременно.

Вопрос в том, можно ли это как-то порешать?
Вывод на дисплей без DMA дюже медленный ...

Оба модуля прилагаю. Работа с DMA в драйвере FSMC закомментарена.
Спасибо.

[6.07 Кб]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2013, 23:36
Ответы с готовыми решениями:

ADC->DMA->SDIO (или NAND через FSMC) без остановки в обработчике прерываний DMA на STM32F407VG, реально или нет?
Добрый день. Столкнулся с необходимостью писать большой объём данных АЦП с высокой скоростью....

stm32f4discovery + fsmc + dma
Добрый день! Коллеги, подскажите пожалуйста. Делаю связку stm32f4discovery + ssd1963 с завязкой...

FSMC + DMA + LCD + F103
Доброго времени суток. Есть МК STM32F103VCT6, к нему подключен TFT дисплей 320х240. Подключен...

ADC +DMA
может кому то понадобится буфер приема данных необходимо выравнивать по 32х битному типу

4
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
12.10.2013, 00:24 2
Попробуйте ADC1 "пересадить" на DMA2_Stream4.
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 783
12.10.2013, 00:38 3
А в чём тайный смысл... привязывать FSMC именно к DMA2 Channel0 ???
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
12.10.2013, 01:03 4
Memory to memory в STM32F4xx возможен только на DMA2. Channel в данном режиме не имеет смысла, тк транзакция запускается программно.
UPD: И говорить о привязке DMA к FSMC неправильно, тк для DMA FSMC - это область памяти, такая же, как и ROM.
UPD2: И еще можно memory-to-memory запустить на любом Stream, не обязательно на нулевом. Возможно dork_usir имелл ввиду именно это, только спутал стримы и каналы.
0
1 / 1 / 0
Регистрация: 07.02.2106
Сообщений: 1,605
12.10.2013, 21:12 5
Спасибо.

FSMC переехал на DMA2, Stream7, Channel 0. Это вроде ни с чем не пересекается. Полёт нормальный.
Исправленный драйвер FSMC прилагаю. Берите, кто хочет.
Там код ждёт завершения передачи по FSMC, может это нехорошо, но это меня пока устраивает.

Тема пока закрыта.

[3.52 Кб]
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2013, 21:12

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

STM32F0 ADC+DMA
Есть кто-то кто программировал АЦП с несколькими каналами STM32F0? Я настроил АЦП с DMA что бы...

ADC+DMA+TIMER
Эта тема уже подымалась на форме, но все используют стандартную библиотеку, а я пытаюсь это...

ADC + DMA +TIM
Добрый вечер. Есть таймер которым я генерю ШИМ таймер TIM_TimeBaseStructure.TIM_Pressotir = 0;...

ADC+DMA пример
Нужен примерчик для K40 (или вообще для любого из семейства кинетис), для передачи ADC-память,...

stm32f4 + ADC + DMA
Доброго времени суток. Вопрос такой... Сделал АЦП на плате ф4дискавери, и получается что когда...

stm32f051 (ADC&DMA)
Ребята помогите в программе ругает так .\project.axf: Error: L6218E: Undefined symbol ossirt_param...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.