stm32f4 cmsis ADC -DMA

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

UART не управляет регистром NDTR. В этом регистре ПОСЛЕ завершения пакета оказывается дополнение количества транзакций для определения длины пакета. И собственно не UART управляет ДМА, а один из двух сигналов, управляющих самим УАРТом. Подобный функционал есть только у той периферии, которая формирует информационные потоки и имеет в своем функционале сигналы управления этими потоками.
Таймер - это просто таймер.
Непонятно что вы хотите получить.
Реклама
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

. И собственно не UART управляет ДМА, а один из двух сигналов,что за сигналы? Какой регистр формирует?
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

У меня такое ощущение, что вы референс-мануал не читаете. Открываете UART в разделе Hardware flow control и обнаруживаете там две диаграммы для управления сигналами RTS/CTS. Аналогичные режимы вы можете обнаружить в модуле SDIO.
Вы цель свою можете обозначить? Какое ко всему этому имеет отношение ШИМ?
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

К этому не имеет.Значит я что то упустил.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

Ну вам виднее... Таймер кроме собственного периода и дьюти-цикла ничего не имеет. С какой стати он сможет прерывать пакет транзакций следующих в его же регистры? Чем он это будет делать?
Реклама
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

вы давно работаете с stm32?
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

С перерывами лет 5. Сейчас делаю проект на F407. Как раз с с DMA-ADC.
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

не удаётся управлять шимом через ацп в дма .Хотя в серии f1 у меня всё вышло.Там переферия- переферия поддерживает.В f4 я не нашёл такого описания что использовать ещё один поток?

Добавлено after 32 seconds:
Кто подскажет?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

Еще один поток - значит сначала из ADC в память (один поток), а потом из памяти в CCP (второй поток).
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

мне получается нужно создавать буфер.А как прописывать адрес в памяти?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

:shock:
Вообще то просто объявляете переменную необходимой разрядности:

Код: Выделить всё

uint16_t   bufferADC;
  ...
  DMA2_Stream0->M0AR = (uint32_t)&bufferADC;
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

тогда как включить несколько каналов Ацп?

Добавлено after 41 second:
допустим мне нужно 5 каналов.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

Какое отношение 5 каналов АЦП имеют к ДМА? Вы желаете каждый канал пихать в свой буфер? Если речь идет об ОДНОМ АЦП с мультиплексором на 5 каналов, то есть режим сканирования. Что Вам конкретно нужно?
ivan dimir
Мучитель микросхем
Сообщения: 440
Зарегистрирован: Вс дек 29, 2019 08:05:21

Re: stm32f4 cmsis ADC -DMA

Сообщение ivan dimir »

Можно через дма 5 каналов сканировать можно без?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

У вас странное построение фраз... В русском языке многое можно делать произвольно. Но не до такой степени...
Обозначайте КОНЕЧНУЮ цель, а не свои промежуточные идеи на пути к цели.
ДМА с АЦП использовать совсем не обязательно. У одного потока ДМА может быть максимум два буфера в ОЗУ. Можно раскидать один и тот же источник по разным потокам, но придется сложными цепочками обеспечивать эти потоки доступными каналами (реквестами).
Если речь идет о пяти каналах управления ШИМами от входных напряжений, то автоматической схемы через ДМА получить не выйдет.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25264
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: stm32f4 cmsis ADC -DMA

Сообщение КРАМ »

Пожалуй можно попробовать в автоматическом режиме. 5 каналов писать в буфер из 5 слов с автоматическим сканированием, а каждое из этих слов назначить источником для 5 каналов ШИМа. Для этого потребуется минимум 2 таймера. Один с 4 ШИМами и еще один с одним (или двумя, как выйдет). На это уйдет 6 потоков ДМА.
Ответить

Вернуться в «ARM»