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

 
 
> Stm32 ADC DUAL MODE
Still Enemy
сообщение Jul 13 2015, 07:48
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-01-15
Из: Нижний Новгород
Пользователь №: 84 817



В общем пытаюсь реализовать dual mode на ADC режим Dual regular simultaneous mode. Пользуюсь HAL дровами, МК stm32f105. По какой то причине в регистр данных ADC в старшем полуслове(там где значения ADC2) всегда одно и тоже число.
Попробовал отдельно ADC1, ADC1+DMA, ADC2 - всё канает. Но вот всё вместе не пашет. Инициализирую верно. Может чего не углядел, есть какие предложения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Still Enemy
сообщение Jul 13 2015, 12:05
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 29-01-15
Из: Нижний Новгород
Пользователь №: 84 817



Напрактиковал такую фишку:
-включаю Continuous conversion mode, ставлю массив на 1024 и количество принимаемых слов в HAL_ADCEx_MultiModeStart_DMA ставлю 1024 - всё работает нормально, данные записываются в массив как надо. Ставлю массив на 7 слов и собственно 7 слов приёма - первый приём 7 слов идет нормально, а потом происходит смещение как на рисунках выше. Пока хз чего там не так.
-выключаю Continuous conversion mode. Массив на 7 слов, приём на 7 слов. Первый раз при прохождении функции HAL_ADCEx_MultiModeStart_DMA - всё норм, при каждом следующим начинает сыпаться из dma2 всякая ахинея

Сообщение отредактировал Still Enemy - Jul 13 2015, 12:08
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jul 13 2015, 13:11
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Still Enemy @ Jul 13 2015, 15:05) *
Напрактиковал такую фишку:
-включаю Continuous conversion mode, ставлю массив на 1024 и количество принимаемых слов в HAL_ADCEx_MultiModeStart_DMA ставлю 1024 - всё работает нормально, данные записываются в массив как надо. Ставлю массив на 7 слов и собственно 7 слов приёма - первый приём 7 слов идет нормально, а потом происходит смещение как на рисунках выше. Пока хз чего там не так.
-выключаю Continuous conversion mode. Массив на 7 слов, приём на 7 слов. Первый раз при прохождении функции HAL_ADCEx_MultiModeStart_DMA - всё норм, при каждом следующим начинает сыпаться из dma2 всякая ахинея

Не понимаю Вас... Зачем-то Вы в цикле запускаете АЦП... Если нужно непрерывно, то сделайте циклическую запись в память. Если нужно последовательно по сколько-то там штук, - надо ждать конца заполнения массива.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 03:54
Рейтинг@Mail.ru


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