В наличии два измерительных канала и дма, который забирает данные. Возможно ли сделать так, чтобы данные второго канала складывались со смещением?
имхо вам нужно изучать периферию конкретного процессора
Камень stm32L476. Есть вариант взять два АЦП и два дма, но и второй и третий АЦП уж заняты. Периферию посмотрел, на первый взгляд ничего на ум не приходит.
Можно, конечно, взять два канала DMA, запускать их от таймеров, и точно синхронизовать эти таймеры с АЦП. Муторно, но возможно, как мне кажется.
В stm32f4xx для DMA есть настройка для double buffer mode. Посмотрите этот режим если я правильно понял описание dma после каждой транзакции меняет указатели на буфер, которые предварительно заданы в соотв. регистрах. Хотя у Вас dtm32L476 и DMA может не иметь такой фичи.
Поторопился. В 476 контроллере в DMA нет таких настроек для работы с double buffer. Странно вроде более новый а фичи получается полезные убраны.
MiklPolikov
Aug 3 2016, 16:09
1)
В stm32L4 опции DMA позволяют настроить больше одного канала на один источник запроса. Если так на самом деле будет работать, то как раз и получится 2 независимых DMA на один АЦП. У каждого как захотите, так и настроите смещения.
2)
В STM32L4 много модулей ADC. Используйте для одного измерительного канала один, для другого другой. И тогда точно получится иметь два независимых канала DMA. И даже независимо настраивать смещение результата в регистре данных ADC
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.